一文学会 Spring 整合 MyBatis
创始人
2024-05-26 16:10:00

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:SSM 框架从入门到精通
✨特色专栏:国学周更-心性养成之路
🥭本文内容:一文学会 Spring 整合 MyBatis

文章目录

    • 一、Spring 项目整体目录结构
    • 二、Spring 整合 MyBatis 开发环境
    • 三、Mapper 接口无实现类开发整合
        • 【1】创建一个 Maven 项目,然后再 pom.xml 文件中添加相关依赖
        • 【2】在 resources —> config 目录下,创建数据库配置文件 jdbc.properties
        • 【3】在 resources —> config 目录下,创建 MyBatis 配置文件 mybatis-config.xml
        • 【4】在 resources —> config 目录下,创建 Spring 配置文件 spring-config.xml
        • 【5】创建实体类 User
        • 【6】创建 Mapper 接口 UserMapper
        • 【7】创建与 UserMapper 接口映射的 UserMapper.xml 文件
        • 【8】创建 Service 业务层接口 UserService
        • 【9】创建 UserService 接口的实现类 UserServiceImpl
        • 【10】创建测试类

在这里插入图片描述

  Spring 整合 MyBatis 可以实现让数据库连接,事务管理,实例化对象的创建与依赖关系等都统一由 Spring 负责,以及数据库的增删改查操作由 spring-mybatis 整合包提供的 SqlSessionTemplate 对象来操作,或者利用整合包扫描接口,依据 Mapper 映射文件直接创建代理实现类,无须程序员手工实现接口,大大简化了开发流程。SpringMVC 本来就是 Spring 框架的一部分,这两者无须再做整合,所以 SSM 整合的关键就是Spring对MyBatis的整合,三大框架整合完成后,将以 Spring 为核心,调用有关资源,高效运作。

一、Spring 项目整体目录结构

在这里插入图片描述

二、Spring 整合 MyBatis 开发环境

  Spring 整合 MyBatis 开发环境除了需要 Spring 的jar包和 MyBatis 的jar包,还需要 SpringMyBatis 整合的中间件 mybatis-spring-xxx.jar,此外还需要数据库驱动jar包 mysql-connector-java-xxx.jar。

三、Mapper 接口无实现类开发整合

项目案例:Spring + MyBatis 实现对 user 数据库的查询。

实现步骤:

【1】创建一个 Maven 项目,然后再 pom.xml 文件中添加相关依赖

4.0.0cn.kgc.smspring061.0-SNAPSHOTjarspring06http://maven.apache.orgUTF-8junitjunit4.12testmysqlmysql-connector-java5.1.47com.alibabadruid1.2.9org.mybatismybatis3.5.9org.springframeworkspring-context5.3.9org.mybatismybatis-spring2.0.5org.springframeworkspring-aspects5.3.9org.springframeworkspring-jdbc5.3.9org.springframeworkspring-tx5.3.9org.projectlomboklombok1.18.16log4jlog4j1.2.17com.github.pagehelperpagehelper5.2.1org.springframeworkspring-test5.3.9test

【2】在 resources —> config 目录下,创建数据库配置文件 jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///java2218?serverTimezone=UTC&useSSL=false&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

【3】在 resources —> config 目录下,创建 MyBatis 配置文件 mybatis-config.xml





【4】在 resources —> config 目录下,创建 Spring 配置文件 spring-config.xml




【5】创建实体类 User

package cn.kgc.sm.entity;import lombok.Data;@Data
public class User {private Integer uId;private String uName;private String uPassword;private Integer uState;}

【6】创建 Mapper 接口 UserMapper

package cn.kgc.sm.mapper;import cn.kgc.sm.entity.User;import java.util.List;public interface UserMapper {List selectAll();
}

【7】创建与 UserMapper 接口映射的 UserMapper.xml 文件





【8】创建 Service 业务层接口 UserService

package cn.kgc.sm.service;import cn.kgc.sm.entity.User;
import cn.kgc.sm.mapper.UserMapper;import java.util.List;public interface UserService {List selectAll();
}

【9】创建 UserService 接口的实现类 UserServiceImpl

package cn.kgc.sm.service.impl;import cn.kgc.sm.entity.User;
import cn.kgc.sm.mapper.UserMapper;
import cn.kgc.sm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
@Service
public class UserServiceImpl implements UserService {@AutowiredUserMapper userMapper;@Overridepublic List selectAll() {System.out.println("users = ");List users = userMapper.selectAll();System.out.println("users = " + users);return users;}
}

【10】创建测试类

package cn.kgc.sm.mapper;import cn.kgc.sm.entity.User;
import cn.kgc.sm.service.UserService;
import junit.framework.TestCase;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:config/spring-config.xml")
public class UserMapperTest {@AutowiredUserService userService;@Testpublic void Test01(){List users = userService.selectAll();users.forEach(user -> System.out.println("user = " + user));
//        for (User user : users) {
//            System.out.println("user = " + user);
//        }}}

运行结果:

在这里插入图片描述


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

相关内容

热门资讯

世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
怎么样的桃花 桃花近看远看的样... 今年的“三八”妇女节,阳光明媚,踏青赏花正当时。遂与姐妹们共赴十里蓝山,与花海来一场春天的约会。十里...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
怎么样的桃花 桃花近看远看的样... 今年的“三八”妇女节,阳光明媚,踏青赏花正当时。遂与姐妹们共赴十里蓝山,与花海来一场春天的约会。十里...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
怎么样的桃花 桃花近看远看的样... 今年的“三八”妇女节,阳光明媚,踏青赏花正当时。遂与姐妹们共赴十里蓝山,与花海来一场春天的约会。十里...