Spring整合Mybaits

Posted yitianyitian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring整合Mybaits相关的知识,希望对你有一定的参考价值。

分享一下自己的Spring框架整合Mybaits框架的步骤,话不多说,上整合步骤,以java项目为例:

整合思路:

SqlSessionFactory -> SqlSession ->StudentMapper ->CRUD
可以发现 ,MyBatis最终是通过SqlSessionFactory来操作数据库,
Spring整合MyBatis 其实就是 将MyBatis的SqlSessionFactory 交给Spring

项目结构:

技术图片

第一步:导入整合过程中所需要的jar包,所需要的jar包如下,如果没有jar包可以去maven库中搜索进行下载:

    mybatis-spring.jar                                      spring-tx.jar                              ojdbc.jar mybatis.jar

    spring-jdbc.jar                                            spring-expression.jar                 log4j.jar

    spring-context-support.jar        spring-core.jar                         commons-pool.jar

    spring-context.jar                   spring-beans.jar

    spring-aop.jar                    spring-web.jar

    commons-logging.jar          commons-dbcp.jar

将以上所有jar包粘贴进项目src目录下,并添加到内路径中

技术图片

第二步:建立实体类与数据库表的一一对应关系:

package entity;

public class Student {
    private int stuNo;
    private String stuName;
    private int stuAge;
    public int getStuNo() {
        return stuNo;
    }
    public void setStuNo(int stuNo) {
        this.stuNo = stuNo;
    }
    public String getStuName() {
        return stuName;
    }
    public void setStuName(String stuName) {
        this.stuName = stuName;
    }
    public int getStuAge() {
        return stuAge;
    }
    public void setStuAge(int stuAge) {
        this.stuAge = stuAge;
    }
    
}

数据库表以及字段如下:

技术图片

 

第三步:通过mapper.xml将类、表建立映射关系:

mapper.xml代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mapper.StudentMapper">
     <select id="queryStudentByStuno" resultType="entity.Student" parameterType="int">
         select * from student where stuNo = #{stuNo}
     </select>
     <insert id="addStudent" parameterType="entity.Student">
             insert into student(stuNo,stuName,stuAge) values(#{stuNo},#{stuName},#{stuAge})
     </insert>
</mapper>

第四步:通过Spring管理SqlSessionFacotry ,因此 产生qlSessionFacotry 所需要的数据库信息 不在放入conf.xml  而需要放入spring配置文件中,配置Spring配置文件(applicationContext.xml)

 

在applicationContext.xml中配置数据库信息代码如下:

<!-- 配置数据库信息(替代mybaits配置文件) -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driver}"></property>    
        <property name="url" value="${url}"></property>
        <property name="username" value="${username}"></property>
        <property name="password" value="${password}"></property>
    </bean>
    
    <!-- 在SpringIoc容器中 创建MyBaits的核心类SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!-- 加载mybaits的配置文件 -->
        <!-- 
        <property name="configLocation" value="classpath:conf.xml"></property> -->
        <property name="mapperLocations" value="mapper/*.xml"></property>
    </bean>

db.preperties文件内容:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/smproject?characterEncoding=UTF-8
username=root
password=1997

以上我们整合步骤就全部完成了,下篇文章我们来具体说说如何使用Spring-Mybaits整合产物来开发程序。

 

以上是关于Spring整合Mybaits的主要内容,如果未能解决你的问题,请参考以下文章

Spring整合Mybaits

SSM整合

spring和mybaits整合

Ehcache学习总结二: Ehcache+Spring+Mybaits整合

Springboot整合Mybaits

java springmvc mybaits maven shiro mysql整合