首页 > 编程语言 > 详细

Spring——整合Mybatis

时间:2020-09-04 15:18:12      阅读:53      评论:0      收藏:0      [点我收藏+]

整合Mybatis步骤:

1.导入相关jar包:

  • junit

  • mybatis

  • mysql数据库

  • spring相关

  • aop织入

  • mybatis-spring

     <dependencies>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.12</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>5.1.47</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis</artifactId>
             <version>3.5.2</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
             <version>5.2.8.RELEASE</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-jdbc</artifactId>
             <version>5.1.0.RELEASE</version>
         </dependency>
         <dependency>
             <groupId>org.aspectj</groupId>
             <artifactId>aspectjweaver</artifactId>
             <version>1.9.6</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis-spring</artifactId>
             <version>2.0.2</version>
         </dependency>
     </dependencies>

2.编写配置文件

 <?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>
     <typeAliases>
         <package name="com.yl.pojo"/>
     </typeAliases>
 ?
     <environments default="development">
         <environment id="development">
             <transactionManager type="JDBC"/>
             <dataSource type="POOLED">
                 <property name="driver" value="com.mysql.jdbc.Driver"/>
                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                 <property name="username" value="root"/>
                 <property name="password" value="1234"/>
             </dataSource>
         </environment>
     </environments>
 ?
     <mappers>
         <mapper class="com.yl.mapper.UserMapper"/>
     </mappers>
 </configuration>

3.测试

1.Mybatis-spring方式一

1.编写数据源配置

2.sqlSessionFactory

3.sqlSesstionTemplate

 <?xml version="1.0" encoding="GBK"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
         https://www.springframework.org/schema/beans/spring-beans.xsd">
 ?
     <!--
     使用Spring的数据源替换Mybatis的配置 c3p0 dbcp druid
     我们这里使用Spring提供的JDBC
     -->
     <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
         <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
         <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
         <property name="username" value="root"/>
         <property name="password" value="1234"/>
     </bean>
 ?
     <!--sqlSessionFactory-->
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         <property name="dataSource" ref="datasource"/>
         <!--绑定Mybatis配置文件-->
         <property name="configLocation" value="classpath:mybatis-config.xml"/>
         <property name="mapperLocations" value="classpath:com/yl/mapper/*.xml"/>
     </bean>
 ?
     <!--就是我们使用的sqlSession-->
     <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
         <!--只能用构造器注入sqlSessionFactory,因为他没有set方法-->
         <constructor-arg index="0" ref="sqlSessionFactory"/>
     </bean>
 </beans>

4.需要给接口加实现类

 package com.yl.mapper;
 ?
 import com.yl.pojo.User;
 import org.mybatis.spring.SqlSessionTemplate;
 ?
 import java.util.List;
 ?
 public class UserMapperImpl implements UserMapper{
     //原来所有的操作用sqlSession来执行,现在使用SqlSessionTemplate
     private SqlSessionTemplate sqlSession;
 ?
     public void setSqlSession(SqlSessionTemplate sqlSession) {
         this.sqlSession = sqlSession;
    }
 ?
     public List<User> selectUser() {
         UserMapper mapper = sqlSession.getMapper(UserMapper.class);
         return mapper.selectUser();
    }
 }

5.将自己写的实现类注入到spring中(一般创建一个专门用来注入的spring配置文件,将其他的spring配置文件import进来)

 <bean id="userMapper" class="com.yl.mapper.UserMapperImpl">
     <property name="sqlSession" ref="sqlSession"/>
 </bean>

6.测试

 

2.方式二:SqlSessionDaoSupport

接口实现:

 package com.yl.mapper;
 ?
 import com.yl.pojo.User;
 import org.apache.ibatis.session.SqlSession;
 import org.mybatis.spring.support.SqlSessionDaoSupport;
 ?
 import java.util.List;
 ?
 public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
     public List<User> selectUser() {
         SqlSession sqlSession = getSqlSession();
         UserMapper mapper = sqlSession.getMapper(UserMapper.class);
         return mapper.selectUser();
         //return getSqlSession().getMapper(UserMapper.class).selectUser();
    }
 }

配置文件:

 <bean id="userMapper2" class="com.yl.mapper.UserMapperImpl2">
     <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
 </bean>

 

Spring——整合Mybatis

原文:https://www.cnblogs.com/Uletay/p/13613583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!