05 2016 档案
摘要:16.1 整合思路 需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成) 持久层的mapper都需要由spring进行管理。 1
阅读全文
摘要:15.1 什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSes
阅读全文
摘要:14.1 什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再
阅读全文
摘要:resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中。 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。
阅读全文
摘要:12.1 需求 查询用户及用户购买商品信息。 12.2 sql语句 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表: orders、orderdetail、items 12.3 映射思路 将用户信息映射到user中。 在user类中添加订单列表属性Li
阅读全文
摘要:11.1 需求 查询订单及订单明细的信息。 11.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。 11.3 分析 使用resultType将上边的 查询结果映射到pojo中,订单信息的就是重复。 要求: 对orders映射不能出现重复记录
阅读全文
摘要:10.1 需求 查询订单信息,关联查询创建订单的用户信息 10.2 resultType 10.2.1 sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内链接?还是外链接? 由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用
阅读全文
摘要:9.1 数据模型分析思路 1、每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程。 2、每张表重要的字段设置 非空字段、外键字段 3、数据库级别表与表之间的关系 外键关系 4、表与表之间的业务关系 在分析表与表之间的业务关系时一定要建立 在某个业务意义基础
阅读全文
摘要:8.1 什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 8.2 需求 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。 8.3 map
阅读全文
摘要:7.1 resultType 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。 如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。 只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。 7.1.1 输出简单
阅读全文
摘要:通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型 6.1 传递pojo的包装对象 6.1.1 需求 完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的) 6.1.2 定义包装类型pojo 针对上边需求,
阅读全文
摘要:mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environme
阅读全文
摘要:4.1 SqlSession使用范围 4.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory 将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlS
阅读全文
摘要:3.1 需求 根据用户id(主键)查询用户信息 根据用户名称模糊查询用户信息 添加用户 删除 用户 更新用户 3.2 环境 java环境:jdk1.7.0_79 eclipse mysql:5.7 建立maven工程,添加mybatis和jdbc驱动包 3.3 log4j.properties 3.
阅读全文
摘要:2.1 mybatis是什么 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code(https://github.com/mybatis/mybatis-3/releases),并且改名
阅读全文
摘要:1.1 环境 java环境:jdk1.7.0_79 eclipse mysql:5.7 1.2 创建mysql数据 导入下边的脚本: 导入之后数据库: sql_table.sql:记录表结构 sql_data.sql:记录测试数据,在实际企业开发中,最后提供一个初始化数据脚本 1.3 创建jdbc
阅读全文
摘要:这篇文章无关技术,只是从事工具开发来的一些总结,因为之前的工作是开发工具对代码进行检查,譬如静态检查和单元测试,很多人的理解不一样,有的人认为这些是必须的,因为可以形成一张网去看护我们的产品,不出事故还好,如果出事故可以快速的定位问题,然而也有人认为,我们的产品能运行,能赚钱就可以啊,为什么要投入更
阅读全文
摘要:在使用jenkins的时候,有时候需要其他外部调用,下面是调用方法,不定期更新 job调用 使用user和password: curl -X POST "jobPath/buildWithParameters?xxx=aa&ccc=bb..." --user username:userpasswor
阅读全文
摘要:1、gcov 1.1 什么是gcov 首先我们要了解什么是gcov,gcov伴随gcc 发布。gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用例生成代码覆盖率信息。 1.2 如何使用gcov 用GCC编译的时候加上-fprofile-arcs
阅读全文