摘要: 什么是二级缓存? 一级缓存是在两次发送同一个SQL请求,第一次执行完,就把数据存储在sqlsession中,第二次是从缓存中取出的数据,也就是说前后就只执行了一次SQL语句。 但每次SqlSession一关闭,一级缓存中的数据就消失。所以用到了二级缓存。 所以从这个角度讲:能跨sqlSession的 阅读全文
posted @ 2017-09-06 15:37 薛小生 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 在POJO中将关联查询的集合设置为一个list属性 阅读全文
posted @ 2017-09-05 20:32 薛小生 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 懒加载会按需要是否执行关联查询语句。如果用到了关联查询语句的信息,就需要执行关联查询,否则就只执行主查询 1.在mybatis的全局配置文件中加入两个属性: Mapper接口: xml文件: 测试: 只用到主查询的信息 下面是打印的日志: DEBUG 09-05 20:13:14,178 ==> P 阅读全文
posted @ 2017-09-05 20:18 薛小生 阅读(2640) 评论(0) 推荐(0) 编辑
摘要: 我们来看一个实例: 在数据库中创建两个表 一、创建表: 员工表: DROP TABLE IF EXISTS `tbl_employee`; CREATE TABLE `tbl_employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` 阅读全文
posted @ 2017-09-05 20:01 薛小生 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 当数据库查询的字段和POJO中的属性名不一致时,可以自定义结果集。使用resultMap 阅读全文
posted @ 2017-09-05 19:05 薛小生 阅读(789) 评论(0) 推荐(0) 编辑
摘要: mybatis的动态代理需要遵循4个规则: 1.xml文件中的namespace的值为接口类的全限命名 2.statement的id要跟接口的方法名相同。 3.statement的parameterType要跟接口的方法的参数的类型相同。 4.statement的resultType要跟接口方法的返 阅读全文
posted @ 2017-09-04 20:53 薛小生 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 一般在mybatis中使用#{ }代替参数,相当于占位符,#{}可以获取参数值,或者POJO对象属性的值。 #{}:相当于占位符,是以预编译的形式,将参数设置到sql语句中,PreparedStatement;防止sql注入 ${}:相当于拼接符,取出的值直接拼装在sql语句中,会有安全问题; 大多 阅读全文
posted @ 2017-09-04 20:39 薛小生 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 在动态代理模式的xml文件中 阅读全文
posted @ 2017-09-04 20:11 薛小生 阅读(1989) 评论(0) 推荐(0) 编辑
摘要: 一、单个参数 单个参数,mybatis不会做特殊处理 直接#{ } 括号里面的内容可以随意些。 二、多个参数 多个参数在明确封装参数时在每个参数 前面加上@param("参数名 ") 接口: 三、在接口传入多个参数时候不加@Param的情况下,如果继续在statement语句中 update stu 阅读全文
posted @ 2017-09-04 20:00 薛小生 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 加入jar包: com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commo 阅读全文
posted @ 2017-08-31 21:28 薛小生 阅读(183) 评论(0) 推荐(0) 编辑