导入相应的jar包
1、spring的jar包
2、Mybatis的jar包
3、Spring+mybatis的整合包。
4、Mysql的数据库驱动jar包。
5、数据库连接池的jar包。
配置MyBatis: Configuration.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>
<!-- 配置bean类型的别名 -->
<typeAliases>
<typeAlias type="com.gongxm.bean.Book" alias="book"/>
<package name="com.gongxm.bean"/>
</typeAliases>
<!--这个可以放在spring中配置-->
<mappers>
<mapper resource="mapper/Book.xml"/>
</mappers>
</configuration>
配置spring: spring-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${driverClass}"/>
<property name="jdbcUrl" value="${jdbcUrl}"/>
<property name="user" value="${user}"/>
<property name="password" value="${password}"/>
<!--连接池中保留的最小连接数。-->
<property name="minPoolSize" value="${minPoolSize}"/>
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="${maxPoolSize}"/>
<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="${initialPoolSize}"/>
<!--最大空闲时间,maxIdleTime秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="${maxIdleTime}"/>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="${acquireIncrement}"/>
<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod" value="${idleConnectionTestPeriod}"/>
<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
<property name="acquireRetryAttempts" value="${acquireRetryAttempts}"/>
</bean>
<!-- SQLSessionFactory的配置 -->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis/Configuration.xml"/>
</bean>
</beans>
传统dao的配置方法
<bean id="bookDao" class="com.gongxm.dao.impl.BookDaoImpl">
<property name="sqlSessionFactory" ref="sessionFactory"/>
</bean>
mapper代理形式dao的配置
- 第一种方式 : 代理指定的接口
1.定义Dao接口
2.定义mapper的xml文件, 文件名必须是接口名
3.mapper的xml中的namespace必须是接口的全类名
4.在spring配置文件中加入内容:
<bean id="bookMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<!-- 指定要代理的接口 -->
<property name="mapperInterface" value="com.gongxm.dao.BookMapper"/>
<!-- 指定sqlSessionFactory对象 -->
<property name="sqlSessionFactory" ref="sessionFactory"/>
</bean>
- 第二种方式 : 配置包扫描器
1.定义Dao接口
2.定义mapper的xml文件, 文件名必须是接口名
3.mapper的xml中的namespace必须是接口的全类名
4.在spring配置文件中加入内容:
<!-- 第二种方式 -->
<!-- 配置包扫描器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 如果要扫描多个包, 可以使用逗号隔开 -->
<property name="basePackage" value="com.gongxm.dao"/>
</bean>