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单独配置到一个文件中,然后在核心配置文件中引入,养成好习惯。

相关文章
|
11天前
|
人工智能 自然语言处理 Java
Spring 集成 DeepSeek 的 3大方法(史上最全)
DeepSeek 的 API 接口和 OpenAI 是兼容的。我们可以自定义 http client,按照 OpenAI 的rest 接口格式,去访问 DeepSeek。自定义 Client 集成DeepSeek ,可以通过以下步骤实现。步骤 1:准备工作访问 DeepSeek 的开发者平台,注册并获取 API 密钥。DeepSeek 提供了与 OpenAI 兼容的 API 端点(例如),确保你已获取正确的 API 地址。
Spring 集成 DeepSeek 的 3大方法(史上最全)
|
29天前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
123 29
|
8天前
|
人工智能 Java API
支持 40+ 插件,Spring AI Alibaba 简化智能体私有数据集成
通过使用社区官方提供的超过 20 种 RAG 数据源和 20 种 Tool Calling 接口,开发者可以轻松接入多种外部数据源(如 GitHub、飞书、云 OSS 等)以及调用各种工具(如天气预报、地图导航、翻译服务等)。这些默认实现大大简化了智能体的开发过程,使得开发者无需从零开始,便可以快速构建功能强大的智能体系统。通过这种方式,智能体不仅能够高效处理复杂任务,还能适应各种应用场景,提供更加智能、精准的服务。
|
1月前
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
243 17
|
1月前
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
|
1月前
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
477 12
|
1月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
66 2
|
1月前
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
296 11
|
1月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
91 8
|
2月前
|
XML Java API
Spring Boot集成MinIO
本文介绍了如何在Spring Boot项目中集成MinIO,一个高性能的分布式对象存储服务。主要步骤包括:引入MinIO依赖、配置MinIO属性、创建MinIO配置类和服务类、使用服务类实现文件上传和下载功能,以及运行应用进行测试。通过这些步骤,可以轻松地在项目中使用MinIO的对象存储功能。
181 5