Spring6详细教程(九)--->Spring6集成MyBatis3.5

简介: 1. 学习视频在b站搜索动力节点即可!!! 2. 从 0 开始学 Java 知识之 Java-学习路线 中的《Spring6集成MyBatis3.5》,不定期更新所学笔记


18.1 实现步骤
第一步:准备数据库表
使用t_act表(账户表)
第二步:IDEA中创建一个模块,并引入依赖
spring-context
spring-jdbc
mysql驱动
mybatis
mybatis-spring:mybatis提供的与spring框架集成的依赖
德鲁伊连接池
junit
第三步:基于三层架构实现,所以提前创建好所有的包
com.powernode.bank.mapper
com.powernode.bank.service
com.powernode.bank.service.impl
com.powernode.bank.pojo
第四步:编写pojo
Account,属性私有化,提供公开的setter getter和toString。
第五步:编写mapper接口
AccountMapper接口,定义方法
第六步:编写mapper配置文件
在配置文件中配置命名空间,以及每一个方法对应的sql。
第七步:编写service接口和service接口实现类
AccountService
AccountServiceImpl
第八步:编写jdbc.properties配置文件
数据库连接池相关信息
第九步:编写mybatis-config.xml配置文件
该文件可以没有,大部分的配置可以转移到spring配置文件中。
如果遇到mybatis相关的系统级配置,还是需要这个文件。
第十步:编写spring.xml配置文件
组件扫描
引入外部的属性文件
数据源
SqlSessionFactoryBean配置
注入mybatis核心配置文件路径
指定别名包
注入数据源
Mapper扫描配置器
指定扫描的包
事务管理器DataSourceTransactionManager
注入数据源
启用事务注解
注入事务管理器
第十一步:编写测试程序,并添加事务,进行测试
18.2 具体实现
第一步:准备数据库表
连接数据库的工具有很多,除了之前我们使用的navicat for mysql之外,也可以使用IDEA工具自带的DataBase插件。可以根据下图提示自行配置:

DATABASE

E MAVEN

@LOCALHOST1OF9

SPRING6

DATABASE

TABLES

ACT

TUSER

SERVER OBJECTS


CONSOLE

ACT

G

大人

一54个

2 ROWS

TX

Y WHERE

E`ORDER

BALANCE

ACTNO

50000

ACT-001

ACT-002


第二步:IDEA中创建一个模块,并引入依赖
第三步:基于三层架构实现,所以提前创建好所有的包

JAVA

COM.POWERNODE.BANK

MAPPER

POJO

SERVICE.IMPL

RESOURCES

TEST


第四步:编写pojo
第五步:编写mapper接口
第六步:编写mapper配置文件
一定要注意,按照下图提示创建这个目录。注意是斜杠不是点儿。在resources目录下新建。并且要和Mapper接口包对应上。

保存贮

16

SPRING6-015-JUNIT

SPRING6-016-SM

NEW

DIRECTORY

SRC

T

COM/POWERNODE/BANK/MAPPER

MAIN

JAVA

19

COM.POWERNODE.BANK

INS

INT

斜杠

MAPPER

ACCOUNTMAPPER

21

POJO

/大大

22

SERVICE.IMPL

RESOURCES

根据贴

23

TEST

24

*QPAR

POM.XML


如果接口叫做AccountMapper,配置文件必须是AccountMapper.xml
第七步:编写service接口和service接口实现类
注意编写的service实现类纳入IoC容器管理:
第八步:编写jdbc.properties配置文件
放在类的根路径下
第九步:编写mybatis-config.xml配置文件
放在类的根路径下,只开启日志,其他配置到spring.xml中。
第十步:编写spring.xml配置文件
注意:当你在spring.xml文件中直接写标签内容时,IDEA会自动给你添加命名空间
第十一步:编写测试程序,并添加事务,进行测试

Java

复制代码

packagecom.powernode.spring6.test;


importcom.powernode.bank.service.AccountService;

importorg.junit.Test;

importorg.springframework.context.ApplicationContext;

importorg.springframework.context.support.ClassPathXmlApplicationContext;


/**

* @author 动力节点

* @version 1.0

* @className SMTest

* @since 1.0

**/

publicclassSMTest{


   @Test

publicvoidtestSM(){

ApplicationContextapplicationContext=newClassPathXmlApplicationContext("spring.xml");

AccountServiceaccountService=applicationContext.getBean("accountService",AccountService.class);

try{

accountService.transfer("act-001","act-002", 10000.0);

System.out.println("转账成功");

}catch(Exceptione){

e.printStackTrace();

System.out.println("转账失败");

}

}


}

最后大家别忘了测试事务!!!!
18.3 spring配置文件的import
spring配置文件有多个,并且可以在spring的核心配置文件中使用import进行引入,我们可以将组件扫描单独定义到一个配置文件中,如下:

common.xml

XML

复制代码


<?xml version="1.0" encoding="UTF-8"?>

<beansxmlns="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.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd">


<!--组件扫描-->

<context:component-scanbase-package="com.powernode.bank"/>


</beans>

然后在核心配置文件中引入:

spring.xml

XML

复制代码


<?xml version="1.0" encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd">


<!--引入其他的spring配置文件-->

<importresource="common.xml"/>


</beans>

注意:在实际开发中,service单独配置到一个文件中,dao单独配置到一个文件中,然后在核心配置文件中引入,养成好习惯。

相关文章
|
1月前
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
196 17
|
1月前
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
347 12
|
1月前
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
|
1月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
81 8
|
3月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
2月前
|
XML Java API
Spring Boot集成MinIO
本文介绍了如何在Spring Boot项目中集成MinIO,一个高性能的分布式对象存储服务。主要步骤包括:引入MinIO依赖、配置MinIO属性、创建MinIO配置类和服务类、使用服务类实现文件上传和下载功能,以及运行应用进行测试。通过这些步骤,可以轻松地在项目中使用MinIO的对象存储功能。
147 5
|
3月前
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
1456 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
|
3月前
|
消息中间件 Java Kafka
什么是Apache Kafka?如何将其与Spring Boot集成?
什么是Apache Kafka?如何将其与Spring Boot集成?
109 5
|
3月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
3月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
85 1