mybatis:
1.首先,导入spring,mybatis以及工程所需要的其他所有jar包;
2.在web.xml中配置<context-param>标签加载mybatis和hibernate的配置文件--xml文件;
如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/config/env/dataAccessContext.xml,
classpath*:/config/persistence/hibernate.xml,
classpath*:/config/persistence/mybatis*.xml,
classpath*:/config/spring/*.xml,
classpath*:/config/persistence/transaction.xml
</param-value>
</context-param>
3.mybatis配置文件中,需要用MapperScannerConfigurer类设置需要扫描的包的路径,这样才能对路径下的相关类进行扫描,并且需要设置扫描的基本接口注解,扫描的目的是生成mybatis-mapper文件的基本mapper接口对象,也需要配置plugins,如数据库连接方言信息,和缓存配置等。同时,mybatis中的mapper相关xml文件(编写sql,以及与mapper接口对象的对应关系的基本mapper相关xml文件)的地址,也需要在这里声明;
<bean id="huapSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation">
<value>classpath:config/mybatis/mybatis-config.xml</value>
</property>
<property name="mapperLocations">
<value>classpath*:config/mybatis/huap/**/*-mapper.xml</value>
</property>
<property name="dataSource">
<ref bean="huapDataSource" />
</property>
</bean>
<!-- 扫描basePackage下所有以@MyBatisRepository注解的接口-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.pactera.icrm.huap"/>
<property name="annotationClass" value="com.pactera.icrm.iplatform.mybatis.MyBatisRepository"/>
<property name="sqlSessionFactory" ref="huapSqlSessionFactory"/>
</bean>
mybatis-config.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- changes from the defaults -->
<setting name="lazyLoadingEnabled" value="false" />
<setting name="localCacheScope" value="STATEMENT"/>
<!--
<setting name="logImpl" value="LOG4J"/>
-->
</settings>
<plugins>
<plugin interceptor="com.pactera.icrm.iplatform.mybatis.PageInterceptor">
<!--
支持数据库dialect Class
com.pactera.icrm.iplatform.mybatis.paginator.dialect.MySQLDialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.OracleDialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.DB2Dialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.InformixDialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.SQLServerDialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.SQLServer2000Dialect
com.pactera.icrm.iplatform.mybatis.paginator.dialect.SybaseDialect
-->
<property name="dialectClass" value="com.pactera.icrm.iplatform.mybatis.paginator.dialect.DB2Dialect"/>
</plugin>
</plugins>
</configuration>
注意:
1注解可以自己来自定义,如本例中MyBatisRepository注解,就是自定义的&