Spring整合Mybatis

[java] view plain copy
 转载:http://blog.csdn.net/xffgem/article/details/50481280
  1. 一:添加jar包  

mybatis:

mybatis-3.2.0.jar

                mybatis-spring-1.1.1.jar    //  整合spring的关键jar包

                log4j-1.2.17.jar

Spring: 

spring-aop-3.2.0.RELEASE.jar

                   spring-beans-3.2.0.RELEASE.jar

                   spring-context-3.2.0.RELEASE.jar

                   spring-core-3.2.0.RELEASE.jar

                   spring-expression-3.2.0.RELEASE.jar

                   spring-jdbc-3.2.0.RELEASE.jar

                   spring-test-3.2.4.RELEASE.jar

                   spring-tx-3.2.0.RELEASE.jar

  //spring 以来的jar包

                   aopalliance-1.0.jar

                   cglib-nodep-2.2.3.jar

                   commons-logging-1.1.1.jar

mysql驱动:

mysql-connector-java-5.0.4-bin.jar

二:创建实体类及数据库对应的表

 

[java] view plain copy
 
  1. public class User {  
  2.   
  3.     private int id;  
  4.     private String name;  
  5.     private Date birthday;  
  6.     private double salary;  
  7.       
  8.     //set,get方法  
  9. }  
[java] view plain copy
 
  1. CREATE TABLE user(  
  2.     user_id INT AUTO_INCREMENT PRIMARY KEY,  
  3.     user_name VARCHAR(30),  
  4.     user_birthday DATE,  
  5.     user_salary DOUBLE  
  6. )  

三:mapper接口及对应的映射文件

UserMapper接口实现基本的crud功能

[java] view plain copy
 
  1. import com.mybatis.beans.User;  
  2.   
  3. public interface UserMapper {  
  4.     void save(User user);  
  5.     void update(User user);  
  6.     void delete(int id);  
  7.     User findById(int id);  
  8.     List<User> findAll();  
  9. }  
对应实体类的userMapper.xml文件
[java] view plain copy
 
  1. <pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  3.                 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">   
  4. <!-- namespace必须与接口的全类名一致-->  
  5. <mapper namespace="com.mybatis.mapper.UserMapper">  
  6.     <!-- id必须和mapper接口对应的功能名称一致 ,此处只写save功能 -->  
  7.     <insert id="save" parameterType="User">  
  8.         insert into user(name, birth, salary) values(#{name},#{birth},#{salary})  
  9.     </insert>  
  10. </mapper>  



四:Spring的配置文件:beans.xml

[html] view plain copy
 
  1. <pre name="code" class="html"><pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
  8.         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
  9.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
  10.         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">  
  11.           
  12.     <!-- mysql连接的基本配置,使用的是spring提供的 DriverManagerDataSource-->  
  13.     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  14.         <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>  
  15.         <property name="username" value="root"></property>  
  16.         <property name="password" value="13177180723"></property>  
  17.         <property name="url" value="jdbc:mysql:///mybatis"></property>  
  18.     </bean>  
  19.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  20.         <property name="dataSource" ref="dataSource"></property>  
  21.         <!-- 别名包,等同于mybatis配置文件conf.xml中的typeAliases,简化映射文件.xml中类的引用 -->  
  22.         <property name="typeAliasesPackage" value="com.mybatis.beans"></property>  
  23.     </bean>  
  24.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  25.         <!-- mapper接口扫描的包,即将此包下所有符合的mapper接口加载到SpringIOC容器管理 -->  
  26.         <property name="basePackage" value="com.mybatis.mapper"></property>  
  27.         <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  
  28.     </bean>  
  29.     <!-- 添加事务 -->  
  30.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  31.         <property name="dataSource" ref="dataSource"></property>  
  32.     </bean>  
  33.     <!-- 启动事务 -->  
  34.     <tx:annotation-driven transaction-manager="transactionManager"/>  
  35. </beans>  

五:mybatis的配置文件:config.xml



[html] view plain copy
 
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration  
  3.   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5.   
  6. <configuration>  
  7.     <!-- Spring整合myBatis后,这个配置文件基本可以不要了-->  
  8.     <!-- 设置外部配置文件 -->  
  9.     <!-- 设置类别名 -->  
  10.     <!-- 设置数据库连接环境 -->  
  11.     <!-- 映射文件 -->   
  12. </configuration>  

六:测试

[java] view plain copy
 
  1. <pre name="code" class="java">package com.mybatis.test;  
  2.   
  3. import static org.junit.Assert.*;  
  4.   
  5. import java.util.Date;  
  6.   
  7. import org.junit.Test;  
  8. import org.junit.runner.RunWith;  
  9. import org.springframework.beans.factory.annotation.Autowired;  
  10. import org.springframework.test.context.ContextConfiguration;  
  11. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
  12.   
  13. import com.mybatis.beans.User;  
  14. import com.mybatis.mapper.UserMapper;  
  15.   
  16. @RunWith(SpringJUnit4ClassRunner.class) //启用spring的测试框架  
  17. @ContextConfiguration("/beans.xml") //加载spring配置文件  
  18. public class MbtSpTest {  
  19.       
  20.     @Autowired  //自动注入mapper接口  
  21.     private UserMapper userMapper;  
  22.       
  23.     @Test  
  24.     public void test() {  
  25.         User user = new User(-1, "Luxi", new Date(), 2000.00);  
  26.         userMapper.save(user);   
  27.     }  
  28.   
  29. }  
原文地址:https://www.cnblogs.com/xiaolovewei/p/7932129.html