本系列【MyBatis + Spring整合開(kāi)發(fā)】分為以下四個(gè)部分:
(一)Mybatis和Spring框架整合
(二)Dao式開(kāi)發(fā)
(三)Mapper動(dòng)態(tài)代理開(kāi)發(fā)
(四)Mapper動(dòng)態(tài)掃描開(kāi)發(fā)
最后的效果:
1.使用Spring容器用單例模式管理Mybatis的sqlSessionFactory翅阵。
2.使用Spring管理連接池、數(shù)據(jù)源等。
3.將Dao/Mapper動(dòng)態(tài)代理對(duì)象注入到Spring容器中誉裆,使用時(shí)直接獲取赠制。
在演示開(kāi)始之前準(zhǔn)備好數(shù)據(jù)庫(kù)database浮定。
創(chuàng)建User表
插入一些數(shù)據(jù)
下面正式開(kāi)始演示征讲。
1.新建項(xiàng)目沪摄,導(dǎo)入所需的包躯嫉。
項(xiàng)目名為MyBatis_Spring
需要導(dǎo)入的包
PS:mybatis-spring-1.3.2.jar可以到官方地址下載。
2.創(chuàng)建Mybatis主配置文件sqlMapConfig.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>
</configuration>
3.創(chuàng)建db.properties祈餐。
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/database
jdbc.user=root
jdbc.password=admin
4.創(chuàng)建Spring主配置文件applicationContext.xml,讀取db.propertie哄陶,配置好C3P0連接池帆阳、sqlSessionFactory。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.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 ">
<!-- 讀取db.properties -->
<context:property-placeholder location="db.properties"/>
<!-- 配置c3p0連接池 -->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>
<property name="user" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置mybatis sqlSessionFactory -->
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 配置數(shù)據(jù)源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 告訴spring mybatis的核心配置文件 -->
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean>
</beans>
5.新建日志log4j.properties屋吨。
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
6.編寫test.java進(jìn)行測(cè)試蜒谤。
package com.test.test;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
SqlSessionFactoryBean bean = (SqlSessionFactoryBean) ac.getBean(SqlSessionFactoryBean.class);
System.out.println(bean);
}
}
右鍵運(yùn)行。
測(cè)試結(jié)果
至此至扰,最基本的框架整合結(jié)束鳍徽。