Spring与Mybatis

Mybatis源码解析之Spring集成mybatis-spring分析 Mybatis源码解析之核心类分析 Mybatis源码解析之初始化分析 Mybatis源码解析之执行流程解析 Mybatis源码解析之数据库连接和连接池 Mybatis源码解析之事务管理 Mybatis源码解析之缓存机制(一):一级缓存 Mybatis源码解析之缓存机制(二):二级缓存 Mybatis源码解析之插件机制 前面的几篇相关博客都针对原生的mybatis进行解析,从本文开始将针对myba... 阅读详情

spring与Mybatis整合,即mybatis相关的Bean交给spring容器来管理

mybatis核心的类是SqlSessionFactory通过该类可以过去SqlSession对象完成对数据库的增删改查操作


Spring与Mybatis的环境搭建

Spring与Mybatis整合的jar包是由Mybatis提供的


Mybatis环境搭建:

  • 在mybatis.xml中注册别名和映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<package name="com.abc.beans"/>
	</typeAliases>
	<mappers>
		<package name="com.abc.dao"/>
	</mappers>
</configuration>
  • 在Dao包下创建与Dao接口名一致的映射文件,名称空间为接口的全名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.abc.dao.StudentDao">
	<insert id="insertStudent">
		insert into student(name,age) values(#{name}, #{age})
	</insert>
	
	<delete id="deleteStudentById">
		delete from student where id=#{xxx}
	</delete>
	
	<update id="updateStudent">
		update student set name=#{name}, age=#{age} where id=#{id}
	</update>
	
	<select id="selectStudentById" resultType="Student">
		select id,name,age from student where id=#{xxx}
	</select>
	
	<select id="selectAllStudents" resultType="Student">
		select id,name,age from student
	</select>
</mapper>
  • 创建jdbc属性文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///test
jdbc.user=root
jdbc.password=123

Spring容器的配置:

  • 导入数据源的jar包(c3p0或dbcp,我使用的是c3p0)
  • 在spring容器中注册ComboPooledDataSource,引入jdbc的属性文件
<!-- 注册DataSource:C3P0 -->
	<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driver}"/>
		<property name="jdbcUrl" value="${jdbc.url}"/>
		<property name="user" value="${jdbc.user}"/>
		<property name="password" value="${jdbc.password}"/>
	</bean>
    <context:property-placeholder location="jdbc.properties"/>
  • 也可以用c3p0-config.xml配置文件,如果使用该配置文件,那么在spring容器中不需要对c3p0进行属性注入,修改配置文件即可
  • 通过SqlSessionFactroyBean生成SqlSessionFactory
<!-- 生成SqlSessionFactory -->
	<bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="myDataSource"/>
		<property name="configLocation" value="mybatis.xml"/>
	</bean>
  • 得到SqlSessionFactory以后我们需要有Dao对象才能调用类中的方法
  • 生成Dao的方法有好几种,我这里介绍一下比较常用的两种
  • 通过MapperFactoryBean生成Dao
<!-- 生成Dao -->
	<bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<property name="sqlSessionFactory" ref="mySqlSessionFactory"/>
		<property name="mapperInterface" value="com.abc.dao.IStudentDao"/>
	</bean>
  • 通过扫描包生成Dao
<!-- 生成Dao -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="sqlSessionFactoryBeanName" value="mySqlSessionFactory"/>
		<property name="basePackage" value="com.abc.dao"/>
	</bean>
  • 最后一步,将我们的dao注入给service

 

Spring Boot与MyBatis Spring Boot是一个用于创建独立的、基于Spring的生产级应用程序的框架,它简化了Spring应用的初始搭建以及开发过程。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。将Spring Boot和MyBatis结合使用,可以高效地开发数据驱动的应用程序。 阅读详情

相关推荐

深入 MyBatis-Spring 源码解析 ——揭秘 MyBatis 与 Spring 的完美融合

当谈到 Java 的持久层框架,MyBatis 几乎总会出现在讨论中;它轻量、灵活,非常适合需要复杂 SQL 查询的场景。而我们的大管家 Spring,除了帮我们管理依赖和控制反转之外,还可以跟 MyBatis 完美地配合在一起!这就是我们今天要讨论的主题——。在这个分析中,我们将通过源码来揭秘 MyBatis-Spring 是如何在两者间架起桥梁的,希望让你对其工作原理有一个深入的理解。MyBatis-Spring 是 Spring 提供的一个适配器模块,它的目标是帮助开发者在 Spring 应用中。

喵手的博客 2023

Spring+Mybatis的整合

所以,该整合,只需要将 SqlSessionFactory 的对象生成器 SqlSessionFactoryBean 注册在 Spring 容器中,再将其注入给 Dao 的实现类即可完成整合。实现 Spring 与 MyBatis 的整合常用的方式:扫描的 Mapper 动态代理 Spring 像插线板一样,mybatis 框架是插头,可以容易的组合到一起。使用mybatis,需要创建mybatis框架中的某些对象,使用这些对象,就可以使用mybatis提供的功能了。在基础的 MyBatis 中,通过。

weixin_65824274的博客 2108

Mybatis与Spring整合所需的jar包

mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-1.2.17.jar log4j-api-2.3.jar log4j-core-2.3.jar mybatis-3.4.5.jar ognl-3.1.15.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.7.25.jar 2.Spring所需要的jar包: spring-bean.5.0.2.jar spring-context-5.0.2.jar spring-core-5.0.2.jar spring-expression-5.0.2.jar commons-logging-1.2.jar aopalliance-1.0.jar aspectjweaver-1.8.13.jar spring-aop-5.0.2.jar spring-aspects-5.0.2.jar spring-jdbc-5.0.2.jar spring-tx-5.0.2.jar 3.Mybatis与Spring整合所需中间件: mybatis-spring-1.3.1.jar mysql-connector-java-5.1.45-bin.jar commons-dbcp2-2.2.0.jar commons-pool2-2.5.0.jar

Spring+MyBatis

Spring+MyBatis整合 前期准备 需要jar包:mybatis-spring.jar,有mybatis提供 该jar包提供的API: SqlSessionFactoryBean:提供SqlSession对象 MapperFactoryBean:根据指定Mapper接口生产bean MapperScannerConfigurer:根据路径扫描相应Mapp

星的专栏 337

官方Spring整合Mybatis所需jar包

Mybatis相关jar和Spring整合Mybatis所需jar,Spring 相关jar没有上传

mybatis-spring的jar包和源码包

mybatis-Spring的jar包和源码包: mybatis-spring-1.2.3.jar mybatis-spring-1.2.3-javadoc.jar mybatis-spring-1.2.3-sources.jar

Mybatis综合单元测试

Mybatis综合单元测试

weixin_51338391的博客 3767

spring整合mybatis所需的jar包

内含spring整合mybatis所需的所有jar包,包括springMVC框架所需的jar包,以及spring框架下各个子模块的jar包,有详细分类!

Spring与Mybatis的整合

spring和mybatis的整合 spring和mybatis整合思路 在mybatis中,操作数据库需要获取到SQLSession对象,而该对象的实例过程在mybatis是通过SQLSessionFactoryBuilder读取全局配置文件来实例化一个SQLSessionFactory,通过SQLSessionFactory来获取到SQLSession对象 而和spring整合过程中,可以通过单例的形式来管理SQLSessionFactory对象,mybatis-spring中提供了一个SQLSessi

m0_52399933的博客 110

Mybatis与Spring整合全部jar包

Mybatis与Spring整合全部jar包,mybatis与spring整合全部jar包(包括springmvc)

你不必懂AI,但必须会用AI:写给所有焦虑中的职场人

AI时代不必焦虑学技术,关键在于用AI解决实际问题。文章指出,99%的人只需成为AI使用者而非建造者,核心竞争力在于结合业务痛点运用AI工具提升效率。与其盲目学习工具,不如梳理工作流程,识别可优化环节,让AI赋能重复性、标准化任务。行业经验与AI工具的结合才是真正的职场护城河。建议从具体工作场景出发,寻找匹配的AI解决方案,迈出应用第一步。

hundred98的博客 718

Spring——Spring整合MyBatis

Spring——Spring整合MyBatis

贝尔摩德苦艾酒 2万+

python入门:Anaconda和Jupyter notebook的安装与使用

一、安装和使用Anaconda 1、anaconda是什么? Anaconda在英文中是“巨蟒”的意思,与python的意思相近,它是python的包管理器和环境管理器。 2、为什么需要安装anaconda? 原因有以下几点: 附带一大批常用的数据科学包,方便立即开始处理数据 管理包 anaconda是在conda(一个包管理器和环境管理器)上发展来的;而conda可以很方便地对第三方的包进行安装、卸载和更新。 管理环境 conda可以为不同的项目建立不同的运行环境,避免不同的项目或包版本

PY洋洋 1万+

【MyBatis】MyBatis与Spring和Spring Boot整合原理

讲解Spring Boot如何整合MyBatis,并分析其原理。

小七的博客 1620

从TL431光耦到集成隔离器:3种反激电源反馈方案全对比,你的项目到底该选哪个?

本文深入对比了反激电源设计中TL431光耦、集成隔离器和原边反馈三种主流反馈方案的优缺点,帮助开发者在电源设计中选择最适合的方案。从精度、成本、隔离等级等多维度分析,为反激式(Flyback)拓扑的应用提供实用选型指南。

weixin_30536513的博客 399

5G/NR 网络切片基本概念(协议版)

26.1 网络切片概念 网络切片是一个概念,可以根据每个客户的要求进行区别对待。通过切片的形式,将不同流量差异化处理,以及可以将资源进行隔离,然后移动网络运营商可以将客户视为属于不同租户类型的客户,每种客户具有不同的服务要求,这些要求根据每个租户根据SLA (Service Level Agreement,服务水平协议)可以使用哪种切片类型进行管理和订阅。 网络切片始终由RAN部分和CN部...

欢迎来到小七的博客,这里将带你深入探索5G通信的神秘世界。无论你是通信领域的专业人士还是对这一领域充满好奇心的技术爱好者,这里都有专业协议解读、通信知识普及以及有趣的Python编程内容等你发现。 1万+

Spring 整合Mybatis。

▶ Junit运行后是基于Spring环境运行的,所以Spring提供了一个专用的类运行器,这个务必要设置,这个类运行器就在Spring的测试专用包中提供的,导入的坐标就是这个东西`SpringJUnit4ClassRunner`○ SqlSessionFactoryBean是前面我们讲解FactoryBean的一个子类,在该类中将SqlSessionFactory的创建进行了封装,简化对象的创建,我们只需要将其需要的内容设置即可。在运行类中,从IOC容器中获取Service对象,调用方法获取结果。

yzh2776680982的博客 2362

win7 vs2012+wdk8.0 搭建wdf驱动开发环境

开发环境搭建: 系统:win7 x64 工具:vs2012 + WDK8.0 插件:wdfcoinstaller.msi (1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建windows drivers类型的工程。 注:vs2012不能安装wdk8.1,wdk8.1必须安装在vs2013上 下载链接:http://msdn.microsoft.com/zh-cn/win...

技术联盟 5344

Spring:Spring整合Mybatis

对其中分析,看看哪些可以交给spring管理:Mybatis程序核心对象分析从图中可以获取到,真正需要交给Spring管理的是整合Mybatis,就是将Mybatis用到的内容交给Spring管理,分析下配置文件第一行读取外部properties配置文件,Spring有提供具体的解决方案,需要交给Spring第二行起别名包扫描,为SqlSessionFactory服务的,需要交给Spring第三行主要用于做连接池,Spring之前我们已经整合了Druid连接池,这块也需要交给Spring。

qq_41187116的博客 1524

VxWorks系列 快速导航

Vxworks系列快速阅览导航

Mr.Sugarcane 1309

IEC61850规约客户端软件开发实战(第六章)

IEC 61850标准中的GOOSE(Generic Object Oriented Substation Event,面向通用对象的变电站事件)功能是变电站自动化系统的核心通信机制,主要用于实现智能电子设备(IED)间高可靠性、低延时的实时信号传输。本章简述其核心功能与技术特点。

半青年的博客 1779

spring整合Mybatis(Mybatis-Spring)

什么是 MyBatis-Spring? MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。 最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。 准备工作 导入maven依赖 <

weixin_45608165的博客 193

把 SAP BTP Destination 写进 MTA:一段 com.sap.application.content 配置背后的部署编排学

MTA内容模块解析:SAP BTP中的声明式部署机制 本文详细解析了mta.yaml中com.sap.application.content模块在SAP BTP云环境中的作用。该模块通过声明式配置实现内容投递,无需编译或部署代码。核心功能包括: Destination创建:通过content-target:true标识将配置投递到Destination服务 HTML5应用部署:将静态资源投递到HTML5 Application Repository 安全集成:配置XSUAA服务实现OAuth2用户令牌交换

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 165

Spring与Mybatis整合

一、 MyBatis与Spring的集成 在学习mybatis配置时,对于mybatis-config配置的时候我们发现,大致是需要配置三个方面:setting、datasource、mappers 而mybatis的setting往往使用默认配置,所以我们经常配置datasource数据源与mappers映射,但学习spring之后发现,对于datasource的配置交由spring进行管理,所以在spring与mybatis整合后mybatis的配置文件中将不需要配置datasource,mybatis

Amour恋空的博客 1431

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Spring】Spring 整合 MyBatis

在实际项目开发中,将 Spring 和 MyBatis 进行整合可以提高开发效率、简化配置、增强事务管理和可维护性,同时利用 Spring 的强大功能来提升系统的稳定性。这里从独立使用 MyBatis 开始,逐步实现与 Spring 框架的整合。

zzy_NIC的博客 1445

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Mybatis的spring整合

mybatis和spring的整合

AYGZC233的博客 1555

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Spring与AOP
下一篇: Spring事务管理
Lemon_Trees
博客等级 码龄9年 1粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值