Mybatis(七)之整合Spring

Spring整合Mybatis全过程解析 MyBatis 是一款常用的持久层框架,使得程序能够以调用方法的方式执行某个指定的SQL,将执行SQL的底层逻辑进行封装。多数与Spring结合使用,本文讨论Spring如何整合Mybatis,首先看下Mybatis运行机制 1. Mybatis运行机制 1.1 Mybatis功能架构设计 Mybatis的功能架构分为三层: (1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 (2)数据处理层:负责 阅读详情

环境

1、JDK1.8
2、mybatis-3.2.7
3、spring-framework-4.3.2.RELEASE
4、eclipse: Oxygen.3a Release (4.7.3a)

项目结构

这里写图片描述

所需jar包

这里写图片描述

配置文件

MybatisConfig.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.zyj.ms.po" />
    </typeAliases>

    <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="mybatis/sqlmap/User.xml" />
    </mappers>
</configuration>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

    <!-- 加载java的配置文件 -->
    <context:property-placeholder location="db.properties" />

    <!-- 创建数据源,这里使用JDBC数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${db.driver}" />
        <property name="url" value="${db.url}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
        <property name="maxActive" value="10" />
        <property name="maxIdle" value="5" />
    </bean>

    <!-- SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 指定mybatis的全局配置文件的路径 -->
        <property name="configLocation" value="mybatis/MybatisConfig.xml"></property>
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- 使用dao开发 -->
    <bean id="userDao" class="com.zyj.ms.dao.UserDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

    <!-- 使用mapper开发 -->
    <!-- 方式一:单独配置UserMapper代理类 -->
    <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <!-- 设置代理类的接口 -->
        <property name="mapperInterface" value="com.zyj.ms.mapper.UserMapper"></property>
        <!-- 依赖注入SqlSessionFactory -->
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean> 

    <!-- 方式二:批量配置mapper代理类,默认bean的id为类名首字母小写 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 配置扫描的包 -->
        <property name="basePackage" value="com.zyj.ms.mapper"></property>
        <!-- 默认不需要配置SqlSessionFactory(只有一个SqlSessionFactory时),单独配置也可以 -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>
</beans>

DAO开发

User.xml

<?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="test">
    <!-- 根据用户ID查询用户信息 -->
    <select id="findUserById" parameterType="int" resultType="user">
        SELECT
        * FROM USER WHERE id =#{id}
    </select>
</mapper>

UserDao.java

public interface UserDao {
    public User findUserById(int id);
}

UserDaoImpl.java

public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
    @Override
    public User findUserById(int id) {
        return this.getSqlSession().selectOne("test.findUserById", id);
    }
}

UserDaoTest.java

public class UserDaoTest {
    private ApplicationContext applicationContext;

    @Before
    public void setUp() {
        applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
    }

    @Test
    public void testFindUserById() {
        UserDao userDao = (UserDao) applicationContext.getBean("userDao");
        User user = userDao.findUserById(1);
        System.out.println(user);
    }
}

Mapper开发

UserMapper.java

public interface UserMapper {
    public User findUserById(int id);
}

UserMapper.xml

<?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.zyj.ms.mapper.UserMapper">
    <select id="findUserById" parameterType="int" resultType="com.zyj.ms.po.User">
        select * from user where id = #{id}
    </select>
</mapper>

UserMapperTest.java

public class UserMapperTest {
    private ApplicationContext applicationContext;

    @Before
    public void setUp() {
        applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
    }

    @Test
    public void testFindUserById() {
        UserMapper userMapper = (UserMapper) applicationContext.getBean("userMapper");
        User user = userMapper.findUserById(1);
        System.out.println(user);
    }
}
eclipse_4.7.3a-jee-oxygen-3a-win32-x86_64 eclipse_4.7.3a-jee-oxygen-3a-win32-x86_64,更多资源请查看我资源列表 立即下载

相关推荐

Eclipse Oxygen.3完整汉化包

Eclipse Oxygen.3完整汉化包,从最新的各个小的汉化包解压后重新打包而来,直接将包内的eclipse目录解压出来和eclipse程序安装目录合并即可。

Spring——Spring整合MyBatis

Spring——Spring整合MyBatis

贝尔摩德苦艾酒 2万+

eclipse-oxygen最新版本(eclipse-jee-oxygen-3a-win32-x86_64)

最新版的eclipse-oxygen,界面是否简洁,用着非常舒服

Spring 整合 Mybatis -- Spring入门(七)

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。(博客的参考源码以及文章末尾链接的学习视频源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)(博客的参考源码以及文章末尾链接的学习视频源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

HHX_01的博客 1733

spring和mybatis整合所需的所有jar包集合

spring和mybatis整合所需的jar包,将这些jar包导入到lib文件夹中即可

spring与Mybatis整合所有jar包

使用Spring框架和MyBatis框架整合时需要的所有jar包,

Spring【七】MyBatis整合Spring

Spring提供了与Hibernate、JPA的集成类,没有提供与MyBatis的集成类,但MyBatis提供了与Spring的无缝集成库MyBatis-Spring,官方网站为

风继续吹 876

避开命令行!在VMware vCenter 8.0图形化界面里搞定SSL证书续期全流程

本文详细介绍了在VMware vCenter 8.0图形化界面中完成SSL证书续期的全流程,包括计算机SSL证书、VMCA根证书和STS证书的管理。通过可视化操作,管理员无需使用命令行即可高效处理证书问题,确保vSphere环境的稳定运行。文章还提供了证书监控与预警配置的实用技巧,帮助用户提前规避证书过期风险。

weixin_27051161的博客 280

Spring(七)Spring整合MyBatis

Spring学习笔记(七) 文章目录Spring学习笔记(七)一、整合思路二、实现过程1.创建java项目或者web项目2.创建相应的数据库表3.创建实体类4.创建Dao层接口5.创建创建mapper代理对象(Sql映射文件)6.Dao层实现类7.编写applicationContext.xml,conf.xml,db.properties8.编写测试类并运行: 一、整合思路 1、spring来管理MyBatis的SqlSession对象,这样conf.xml中就不加载数据源了。交给spring管理 2、s

qq_46046423的博客 437

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 970

Augustus手动安装教程

本文记载了如何结合conda手动安装Augustus

m0_65437087的博客 1255

Mybatis (七) Mybatis整合Spring

Mybatis整合Spring操作DB 文章目录Mybatis整合Spring操作DB项目结构图项目的POM依赖Mybatis的全局配置properties文件RoleMapper 文件RoleMapper XMLRoleService单元测试类最后 ​ 这一节我们主要看一下如何使用Spring整合Mybatis操作,同时也是基于操作方面的,对于其Spring如何操作Mybatis的,还需要后续的...

ouYang的博客 277

大模型多智能体协作面试题及参考答案

在多智能体系统里,代理定义自身目标或效用函数的过程与系统架构、应用场景紧密相关。从本质上讲,目标是代理行为的导向,而效用函数则是对目标达成程度的量化评估。代理通常依据自身角色、系统全局需求以及与其他代理的交互关系来确立目标。比如在合作型 MAS 中,代理目标可能需要与全局目标对齐,像多个物流机器人协作完成货物配送时,每个机器人的目标会围绕 “高效完成分配任务”“避免路径冲突” 等展开,其效用函数可能涉及任务完成时间、能耗等指标的加权求和。目标定义的方式存在多种类型。

大模型大数据攻城狮的专栏 1022

Spring框架专题(七)-Spring整合MyBatis

1.基本介绍 Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spr

刘树之的博客 281

GeoScene Pro教程(002):GeoScenePro基础操作

GeoScenePro基础操作介绍。

WwLK123的博客 2460

爬虫:一文掌握网站加密和混淆以及浏览器调试的技巧

面对加密和混淆技术的网站,传统的爬虫方法可能难以奏效。通过结合浏览器调试工具(如Puppeteer、Playwright)、代理工具(如Burp Suite、Fiddler)以及动态和静态分析技巧,可以深入理解网站的运行机制,绕过加密和混淆,实现有效的数据抓取。同时,务必注意合法合规,尊重目标网站的规则和用户的隐私,确保爬虫行为的正当性和可持续性。

数据知道的博客 9887

mybatis系列:七、spring整合

mybatis spring整合简单概述mybatis配置 简单概述 mybatis与spring进行整合,通过spring管理SqlSessionFactory、mapper接口。 mybatis配置 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "...

laonxs的博客 132

GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量

当我们在 Google Earth Engine(GEE)中应用机器学习算法时,会输入一些影像作为特征变量数据,进一步根据这些特征影像去推理未知区域的数据。但是 GEE 平台上计算特征变量的 API 函数并不是非常全面,我们希望获得更多的特征用于分类。这个时候,我们可以将本地计算的特征影像上传到 GEE 中进行后续处理。本文记录了从本地上传特征数据到 GEE 的 Assets 中的教程,用于后续在 GEE 中分类或者回归使用。本文也可作为《》一文的补充。

养乐多的博客 1730

七、Mybatis整合spring之手动实现dao层

环境搭建 1.新建工程,添加jar包 由于后面的测试我是使用Junit来完成的,因此我没有创建web工程,而是创建的java工程,创建完工程后,导入相关jar包,我这里给出下载链接,提取码:80xh 将上图框中的文件夹内的jar导入你的工程,一共31个jar包。 2.创建javabean及对应操作的数据库表 package blog.csdn.net.mchenys.pojo; import...

热爱不止,前行不息 957

秋招突击——笔试整理——8/25——拼多多笔试整理

继续加油! 转变思维,有简单到复杂,由直观到抽象,这种贪心模拟的题目一直是这样的!

Blackoutdragon的博客 2400

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Spring系列教程七: Spring 整合mybatis的四种方式

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33828101的博客 774

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Mybatis篇-(七)Mybatis-Spring整合

七、Mybatis-Spring整合 Spring-SpringMVC-Mybatis初整合 Mybatis-Spring整合适配包的下载 点击下载 创建一个动态web工程 点击查看创建过程 导入相应的jar包 引入mybatis的配置 mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Con

cV展示的学习园 194

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mybatis学习七整合spring

1.整合思路    需要spring通过单例的模式管理sqlSessionFactory,spring和mybatis整合生成代理对象,使用sqlSessionFactory创建sqlSession,持久层的mapper都需要有spring管理 2.整合环境    mybatis的jar包 ,spring的jar包    mybatis与spring整合包:早起ibatis与spring整

Pruett的博客 306

Spring系列(七)、Spring与MyBatis框架整合

7 搭建Spring与MyBatis的集成环境 要实现Spring与MyBatis的整合,很明显需要这两个框架各自的jar包,以及整合两个框架的中间包mybatis-spring.jar: 我们使用maven创建web项目spring-mybatis,只需要引入相关jar的依赖即可: 相关依赖文件:<!--druid连接池--> <dependency> <groupId>com.alibaba</groupId> <

一宿君 1143

Spring(七):Spring整合Mybatis、Junit

1、在pom.xml中添加spring-context、druid、mybatis、mysql-connector-java等基础依赖。4、创建SpringConfig主配置类进行包扫描和加载其他配置类。2、创建JdbcConfig配置DataSource数据源。3、创建MybatisConfig整合mybatis。1、导入Spring整合Mybatis依赖。2、准备service和dao层基础代码。

weixin_43162044的博客 197
上一篇: Mybatis(六)之缓存
下一篇: Mybatis(八)之逆向工程
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值