Spring和SpringBoot整合Mybatis的方式

1、Mybatis

1.1 原始jdbc操作的分析

原始jdbc开发存在的问题如下:
① 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能。
② sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。
③ 查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置。
应对上述问题给出的解决方案:
① 使用数据库连接池初始化连接资源。
② 将sql语句抽取到xml配置文件中。
③ 使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射。

1.2 MyBatis开发步骤(xml)

① 添加MyBatis的坐标
② 创建user数据表
③ 编写User实体类
④ 编写映射文件UserMapper.xml
⑤ 编写核心文件SqlMapConfig.xml
⑥ 编写测试类

1.2.1 导入MyBatis的坐标和其他相关坐标

在这里插入图片描述

1.2.2 编写UserMapper映射文件

在这里插入图片描述

1.2.3 编写MyBatis核心文件

在这里插入图片描述
其中,事务管理器(transactionManager)类型有两种:
• JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
• MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如JEE应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将 closeConnection 属性设置为 false 来阻止它默认的关闭行为。
其中,数据源(dataSource)类型有三种:
• UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。
• POOLED:这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来。
• JNDI:这个数据源的实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。
在这里插入图片描述
在这里插入图片描述

1.3 MyBatis开发步骤(注解)

在这里插入图片描述

2、Spring整合Mybatis

spring创建工厂:
在这里插入图片描述spring链接数据库:在这里插入图片描述
spring扫描mapper包,为mapper实现类,放入容器:
在这里插入图片描述

3、SpringBoot整合Mybatis

导入依赖:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值