Mybatis的注意小点:
1.如果要使用其他mapper文件中的ResultMap 要加上其他映射文件的namespace。
2.mapper有一个二级缓存区域(按照namespace分),如果两个maaper的namespace一样则存放在同一个二级缓存。
3.二级缓存在自己的mapper.xml文件中进行开启。
4.<selectkey keyproperty="id" order="AFTER">
select last_insert_id();
</selectkey>
keyproperty 将查询到的主键值设置到parameterType 制定的对象的那个id属性
order相对于是相对于包这段标签的insert,或delete标签的执行顺序
5.sqlsessionFactory 单例
sqlsessionFactoryBuilder 工具类
sqlsession 是县城不安全,最佳应用场合:放在方法体内。
6.原始dao开发问题
1.dao接口实现类存在大量模板方法。
2.调用sqlsession方法时,statement的id硬编码
3.调用sqlsession方法传入变量,由于sqlsession 方法使用泛型,即使变量类型传入错误,编译也不会报错。
7.mybati将按照下面的顺序来加载属性
1.在properties 元素体内的属性首先被读取
2.然后读取properties袁术中resource或url加载的属性,它们会覆盖已经读取的同名属性
3.最后读取mapper.xml 中paranterType传递的属性。它也会覆盖的。
JDBC的问题:
1.数据库连接,使用时就创建,不使用就立即释放,对数据库的进行频繁的连接开启和关闭,造成数据库资源的浪费。
2.硬编码不利于维护