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 BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
103 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
2月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
419 3
|
3月前
|
XML 人工智能 Java
Spring Boot集成Aviator实现参数校验
Aviator是一个高性能、轻量级的Java表达式求值引擎,适用于动态表达式计算。其特点包括支持多种运算符、函数调用、正则匹配、自动类型转换及嵌套变量访问,性能优异且依赖小。适用于规则引擎、公式计算和动态脚本控制等场景。本文介绍了如何结合Aviator与AOP实现参数校验,并附有代码示例和仓库链接。
194 0
|
28天前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
252 4
|
1月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
116 0
|
3月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
294 3
|
3月前
|
SQL Java 数据库连接
Spring、SpringMVC 与 MyBatis 核心知识点解析
我梳理的这些内容,涵盖了 Spring、SpringMVC 和 MyBatis 的核心知识点。 在 Spring 中,我了解到 IOC 是控制反转,把对象控制权交容器;DI 是依赖注入,有三种实现方式。Bean 有五种作用域,单例 bean 的线程安全问题及自动装配方式也清晰了。事务基于数据库和 AOP,有失效场景和七种传播行为。AOP 是面向切面编程,动态代理有 JDK 和 CGLIB 两种。 SpringMVC 的 11 步执行流程我烂熟于心,还有那些常用注解的用法。 MyBatis 里,#{} 和 ${} 的区别很关键,获取主键、处理字段与属性名不匹配的方法也掌握了。多表查询、动态
125 0
|
3月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
771 0