mybatis底层原理

文章讨论了如何通过创建工具类来解决JDBC代码中的大部分冗余,特别是对于update和query操作。工具类接受SQL和参数,处理查询时的返回值问题,利用反射和对象构建。同时,引入ThreadLocal确保线程安全,简化事务管理和资源释放。还提到了使用代理实现来区分DAO和Servlet调用,增强灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.jdbc的大部分代码冗余,除了sql和参数
2.抽取出公共的部分创建update和query方法的工具类
3.传入(sql和参数)
4.增删改方法没有问题,但是查询涉及到返回值
5.由于返回值不确定创建返回值类
6.添加工具类参数根据用户传入实体类反射获取对象
7.通过方法获取列数,遍历传参返回object类型
8.工具类提供带参和无参构造,获取用户传来的连接对象
9.多个事务的问题需要在工具类中添加connection参数(至今update需要三个参数,分别是connection对象,sql语句,参数。query需要四个参数,分别是connection,sql语句,参数和返回值)
10.Threadlocal类,处理线程问题,保证同一个线程只创建一个connection
11.由于每条sql命令都需要调用Threadlocal的创建、回滚、销毁方法
12.使用代理实现类判断是dao调用还是servler调用
13.给dao调用是增加创建、回滚、销毁方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱逛dn的小于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值