一文学会 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知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...