本系列【MyBatis + Spring整合开发】分为以下四个部分:
(一)Mybatis和Spring框架整合
(二)Dao式开发
(三)Mapper动态代理开发
(四)Mapper动态扫描开发
最后的效果:
1.使用Spring容器用单例模式管理Mybatis的sqlSessionFactory。
2.使用Spring管理连接池、数据源等。
3.将Dao/Mapper动态代理对象注入到Spring容器中,使用时直接获取。
在演示开始之前准备好数据库database。
创建User表 插入一些数据下面正式开始演示。
1.新建项目,导入所需的包。
项目名为MyBatis_Spring 需要导入的包PS:mybatis-spring-1.3.2.jar可以到官方地址下载。
2.创建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.创建db.properties。
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/database
jdbc.user=root
jdbc.password=admin
4.创建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">
<!-- 配置数据源 -->
<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进行测试。
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);
}
}
右键运行。
测试结果至此,最基本的框架整合结束。
网友评论