1)使用mybatis,必须有个全局配置文件configuration.xml,来配置mybatis的缓存,延迟加载等等一系列属性,该配置文件示例如下:
Java代码
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
2)该文件放在资源文件的任意classpath目录下,假设这里就直接放在资源根目录,等会spring需要引用该文件。
查看ibatis-3-config.dtd发现除了settings和typeAliases还有其他众多元素,比如properties,objectFactory,environments等等,这些元素基本上都包含着一些环境配置,数据源定义,数据库事务等等,在单独使用mybatis的时候非常重要,比如通过以构造参数的形式去实例化一个sqlsessionFactory,就像这样:
Java代码
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader);
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, properties);
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, environment, properties);
而typeHandlers则用来自定义映射规则,如可以自定义将Character映射为varchar,plugins元素则放了一些拦截器接口。
2)在spring配置文件中指定c3p0数据源定义如下:
Java代码
配置中的${}都是占位符,在指定数据库驱动打war时会自动替换,替换的值在父pom中配置。
3)需要一个sessionFactory来生成session,sessionFactory配置如下:
Java代码
4)配置一个映射器接口来对应sqlSessionTemplate,该映射器接口定义了接口方法:
Java代码
5)至此,一个完整的myabtis整合spring的配置文件看起来应该如下所示:
Java代码
不用注解就配置xml
注入sqlsessionfactory mapperinterface
就可以了