MyBatis简介和原理介绍
Mybatis的应用是围绕着一个SqlSessionFactory实例(即SqlSession工厂,从中可以获取到SqlSession对象,所有的数据库操作都是通过SqlSession类进行的)展开的。SqlSessionFactoryBuilder根据XML映射文件创建SqlSessionFactory。下面是一段创建SqlSession的代码:
Mybatis的应用是围绕着一个SqlSessionFactory实例(即SqlSession工厂,从中可以获取到SqlSession对象,所有的数据库操作都是通过SqlSession类进行的)展开的。SqlSessionFactoryBuilder根据XML映射文件创建SqlSessionFactory。下面是一段创建SqlSession的代码:
MyBatis在默认情况下,使用#{}语法,MyBatis会产生PreparedStatement语句中,并且安全的设置PreparedStatement参数,这个过程中MyBatis会进行必要的安全检查和转义。因此,在Mapper文件中使用#{}语法来获取Java代码传递过来的变量更为安全,也推荐你这么做。
Mybatis中的SqlBuilder类是用来处理java程序动态拼接SQL操作用的,把我们从以前需要注意空格或者or,and,where等SQL关键字处理中解脱出来,这个类设计的比较精巧,而且不依赖其他的类或者包,很适合移植到自己的项目中去,所以分离出来对其源码进行解读和改造。