mybatis系列教程(二)——spring整合mybatis

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/74760151

项目地址

项目地址:https://code.csdn.net/luo4105/study_mybatis/

Spring整合mybatis

实现

接着上节的思路,把数据源和mapper的映射配置在spring的配置文件,把SqlSessionFactory对象、SqlSession对象、UserMapper对象都在Spring中注册,实现spring整合mybatis。

项目结构

mvn依赖

<properties>
	<org.springframework-version>4.3.7.RELEASE</org.springframework-version>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<java-version>1.8</java-version>
</properties>

<dependencies>
	<!-- spring -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-expression</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-tx</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	<!-- spring -->
	
	<!-- mybatis -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.4.1</version>
	</dependency>
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
		<version>1.3.1</version>
	</dependency>
	<!-- mybatis -->
	
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.35</version>
	</dependency>
	
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.2</version>
	</dependency>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
	</dependency>
</dependencies>

项目还是之前的项目,只是添加了

spring-config.xml :spring的配置文件

UserMapperTestInSpring:配置测试类

spring-config.xml

<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.0.xsd">
 
    <!-- 配置数据源 -->
    <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/study_mybatis"/>
       <property name="username" value="root"/>
       <property name="password" value="123456"/>
    </bean>
 
    <!-- 注册、配置sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />
       <property name="mapperLocations" value="com/lc/mapper/*.xml" />
    </bean>
 
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.lc.dao" />
       <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>
</beans>

UserMapperTestInSpring

import java.util.List;
 
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import com.lc.model.User;
 
public classUserMapperTestInSpring {
 
    private staticClassPathXmlApplicationContext context = null;
    private static UserMapper userMapper;
 
    static {
       context = newClassPathXmlApplicationContext("com/lc/config/spring-config.xml");
       context.start();
       userMapper = context.getBean(UserMapper.class);
    }
 
    @Test
    public void select() {
       List<User>userlist= userMapper.select();
       for (User user : userlist) {
           System.out.println(user);
       }
    }
 
    @Test
    public void delete() {
       if (userMapper.delete(1) >0) {
           System.out.println("del success");
       }
    }
}

运行

总结

注意配置中SqlSessionFactoryBean,它还有很多属性,如设置别名、设置mybatis配置文件(如果有),详细的可以看看文档:http://javadox.com/org.mybatis/mybatis-spring/1.1.1/org/mybatis/spring/SqlSessionFactoryBean.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java程序猿部落

Spring Boot 中如何支持异步方法

要使用 @Async,首先需要使用 @EnableAsync 注解开启 Spring Boot 中的异步特性。

10860
来自专栏技术从心

Spring Boot一些基础配置

我们可以把这个图案修改为自己想要的。在src/main/resources目录下新建banner.txt文件,然后将自己的图案黏贴进去即可。ASCII图案可通过...

7420
来自专栏咖啡拿铁

Spring中的XML schema扩展机制

很久没有写关于 Spring 的文章了,最近在系统梳理 Dubbo 代码的过程中发现了 XML schema 这个被遗漏的知识点。由于工作中使用 SpringB...

8420
来自专栏Python绿色通道

爬虫篇 | Python现学现用xpath爬取豆瓣音乐

最近整理一个爬虫系列方面的文章,不管大家的基础如何,我从头开始整一个爬虫系列方面的文章,让大家循序渐进的学习爬虫,小白也没有学习障碍.

7230
来自专栏芋道源码1024

Spring IoC、AOP、Transaction、MVC 归纳小结

如果说有什么框架是Java程序员必然会学习、使用到的,那么Spring肯定是其中之一。本篇博客,将根据博主在日常工作中对Spring的使用做一个系统的归纳小结。

8310
来自专栏趣谈编程

深入浅出Spring IOC(一)

Spring是一个企业级开发框架,为解决企业级项目开发过于复杂而创建的,框架的主要优势之一就是分层架构,允许开发者自主选择组件。

8410
来自专栏VB坛子

vb6怎么读取XML文件?

<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="9171" x:FullColumns="1...

7000
来自专栏MasiMaro 的技术博文

Servlet

通过前面一系列的博客的梳理,学习了一下Java基础的编程知识,从我自己的感觉上来说,Java与c++的差距并不是很大,Java将c++做了更进一步的抽象,同时丢...

6820
来自专栏趣谈编程

深入浅出Spring IOC(二)

上一篇文章 深入浅出Spring IOC(一)我们介绍了Spring的IOC,即控制反转,Spring来创建对象,程序中需要使用对象时,直接通过Spring容器...

4910
来自专栏咖啡拿铁

聊聊Spring中的那些扩展机制

在看一些框架源码的时候,可以看见他们很多都会和Spring去做结合。举个例子dubbo的配置:

7020

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励