SqlSessionFactoryBuilder类,传入一个XML基础配置文件的字节流作为参数,就可以产生一个SqlSessionFactory类。这个类的唯一作用就是将来(工厂模式)创建SqlSession类对象。
SqlSession类对象,就是对数据库进行增删改查、事务操纵的对象。
映射文件 RoleMapper.xml ,在基础配置文件里,需要声明。MyBatis需要一个接口,接口的名字与映射文件名相同,另外需要一个POJO类。
RoleMapper.xml
SQL返回的列名,要与上面的POJO类的属性对应起来,MyBatis会自动对他们做映射。
推荐的,用Mapper接口,发送SQL语句
_____________________________________
也可以用注解实现映射器
还需要在基本配置 XML 文件中,添加使用注解方式的接口。注意与使用XML方式的接口的区别。
使用方式还是代码清单3-10中一样。
——————————————————————————————————————————————
不建议使用SqlSession发送SQL,这种用法感觉像JDBC的语法:它是早期的ibatis遗留下的历史语法。
注意,上图中,log4j.properties 和 mybatis-config.xml 是在src的路径下,称为 类路径。
——————————————————————————————————————————-
生命周期问题。
MyBatis有几个对象,它们的生命周期分别是:
1、SqlSessionFactoryBuilder ,其目的在于创建SqlSessionFactory,之后就失去作用。
2、SqlSessionFactory ,等同于一个数据库连接池,生命周期与Mybatis的周期相同。
3、SqlSession ,等同于一个connection,生命周期在于一个事务的结束。
4、Mapper ,是由SqlSession对象创建的,是为了发送SQL语句,一般生命周期只在一个HTTP请求中有效。
——————————————————————————————————
比较常用的就是:
1、<properties> 用于自定义文件内的变量,一般是一个key--vlaue键值对。
2、<environments> 用于定义数据库的驱动、URL、数据库账号、密码
3、<mappers> 用于包含XML的配置mapper文件
4、<typeAliases> 用于定义一个类的全限定名的字符串的 别名
下面给出一些这些选项的配置案例:
4.2.2 使用properties文件来定义Mybatis主配置文件中的<properties>选项,这也是推荐的用法。
需要在Mybatis的主配置文件中使用<properties resource ="jdbc.properties" />来申明文件名,这个文件要放在项目的classpath路径下
classpath路径,指的就是编译之前的java或resources项目文件夹下,或者编译之后对应的classes文件夹。