1.Cglib动态代理 目标类: 测试: 测试结果: 测试第27行enhancer.create()方法调用了Service的构造器。 create()方法是生成代理对象,其本质是目标类的子类实例,所以会调用父类构造。 2.JDK动态代理 jdk动态代理原理是动态生成目标对象实现接口的实现类。 接口 Read More
posted @ 2017-10-14 23:56 Tomas曼 Views(625) Comments(0) Diggs(0) Edit
1.在没有配置的情况下,mybatis默认开启一级缓存。 打个断点测试一下就知道了。 在同一个SqlSession中,第一次查询后,调用mapper相同方法,SqlSession会从一级缓存中取数据,而且得到的是相同的对象。不会发送SQL。 如果SqlSession进行了提交,那么一级缓存将会清除。 Read More
posted @ 2017-10-14 21:39 Tomas曼 Views(1114) Comments(0) Diggs(0) Edit
1.概念 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟加载规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 2.关联对象的加载时机 ①.直接加载 执行完对主加载对象的select语句,马上执行对关联对象的select查询 ②.侵入式延迟加载 执 Read More
posted @ 2017-10-14 12:26 Tomas曼 Views(1177) Comments(0) Diggs(0) Edit
1.查询语句,where: 2.插入语句,trim: 3.修改语句,trim: 4.查询语句,foreach: Read More
posted @ 2017-10-14 02:24 Tomas曼 Views(369) Comments(0) Diggs(0) Edit
1.持久化与ORM 持久化是数据在内存与硬盘间相互转化的过程 ORM即对象关系映射 程序员使用面向对象的思维方式处理数据,每个对象都是一个pojo。但是保存数据的时候,却以关系型数据库的方式存储。所以在持久化的过程中编码会很复杂,比如jdbc的存取数据——要自己拆分每个字段,然后存入数据库,或者从数 Read More
posted @ 2017-10-14 01:28 Tomas曼 Views(252) Comments(0) Diggs(0) Edit