摘要: 1、整合思路 需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成) 持久层的mapper都需要由spring进行管理。 2、整合环境 创建一个新的java工程 jar包: mybatis3.3.0的jar包 Spri... 阅读全文
posted @ 2016-03-18 14:55 余家小子 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1、 什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。 二级缓存是mapper级别的缓存,多个S... 阅读全文
posted @ 2016-03-18 14:23 余家小子 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 1、什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载:先从单表查询、需要时再从关联表去关联查询... 阅读全文
posted @ 2016-03-18 10:53 余家小子 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 1、一对多查询 1.1 需求 查询订单及订单明细的信息。 1.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。 SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id... 阅读全文
posted @ 2016-03-18 10:23 余家小子 阅读(8616) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 1.1 需求 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。 1.2 UserMapper.x... 阅读全文
posted @ 2016-03-18 09:40 余家小子 阅读(1057) 评论(0) 推荐(0) 编辑