手写自己的MyBatis框架-V2.0 可优化之处
1 、在ResultSetHandler 中, 类型处理都是写死的, 能不能创建一个TypeHandler,把这些关系维护起来,处理所有类型的转换关系和自定义类型;
2、只实现了@Select 的注解,插入、删除、修改的注解呢?参数能不能用@Param传入类型?
3、插件只能拦截Executor,能不能实现对其他核心对象的方法的拦截?插件可以支持配置参数么?
4、缓存只有一级,不能在单个方法上关闭(properties 不够用了),能不能实现多级的缓存?
5、异常处理有点粗暴,都是直接catch,没有细化;
手写自己的MyBatis框架-V2.0 可优化之处相关推荐
- 手写自己的MyBatis框架-V2.0配置文件
创建了全局配置文件mybatis.properties,存放SQL 连接信息.缓存开关.插件地址.Mapper 接口地址. 全局配置文件在Configuration 配置类的构造器中解析.
- 手写自己的MyBatis框架-V2.0结果集处理
创建ResultSetHandler,在其中创建pojo 对象,获取ResultSet 值,通过反射给pojo 对象赋值. 实体类的转换关系通过@Entity 注解( 保存在MapperRegistr ...
- 手写自己的MyBatis框架-V2.0参数处理
创建ParameterHandler,调用psmt 的set 方法.propertie 文件中SQL 语句的%d占位符改成?.
- 手写自己的MyBatis框架-1.0 的不足
V1.0 的不足 1.在Executor 中,对参数.语句和结果集的处理是耦合的,没有实现职责分离: 2.参数:没有实现对语句的预编译,只有简单的格式化(format),效率不高,还存在SQL 注入的 ...
- 手写自己的MyBatis框架-SqlSession
我们已经分析了MeBatis 的主要对象和操作流程,应该从哪里入手? 当我们在psvm 操作的时候,第一个需要的对象是SqlSession.所以我们从应用层的接口SqlSession 入手. 那么我们 ...
- 手写自己的MyBatis框架-Executor
到了sqlSession 的selectOne()方法,这里我们要去调用Executor 的query()方法,这个时候我们必须传入SQL 语句和参数(根据statementId 获取). 问题来了: ...
- 手写自己的MyBatis框架-操作流程
1.定义接口Mapper 和方法,用来调用数据库操作. Mapper 接口操作数据库需要通过代理类. 2.定义配置类对象Configuration. 3.定义应用层的API SqlSession.它有 ...
- 手写自己的MyBatis框架-这个框架需要解决什么问题?
老王给我看了一段JDBC 的代码: rs.close(); stmt.close(); conn.close(); 1)它需要实现对连接资源的自动管理,也就是把创建Connection.Stateme ...
- 手写自己的MyBatis框架-MapperProxy
我们要在Configuration 中通过getMapper()方法拿到这个代理对象,必须要有一个实现了InvocationHandler 的代理类.我们来创建它:MapperProxy. 提供一个i ...
最新文章
- vue实例没有挂载到html上,vue 源码学习 - 实例挂载
- 50 xen虚拟化技术基础、xen虚拟化技术进阶
- mysql的一主多从和双主浅析
- 基于FPGA的直流电机PWM控制+毕业论文
- [蓝桥杯2019初赛]数列求值-模拟+数论
- activiti 生命周期_一文让你读懂什么是Activiti工作流
- oracle 数据的定义,oracle——数据定义
- java 垃圾回收题目_我肝了万字的Java垃圾回收,看完你还敢说不会?
- 解决办法:用户名不在 sudoers文件中 此事将被报告
- 解决andr_Android和iPhone浏览器大战,第2部分,为iPhone和Android构建基于浏览器的应用程序
- mysql 定时任务 日志_mysql定时备份任务
- C++三种继承方式--------私有继承(private)
- 计算机windows10怎么找word,Win10 word路径在哪?Win10如何修改word路径
- 卷积神经网络分类实战
- Linux系统实现访问localhost(127.0.0.1)浏览WWW网站目录
- fuzzy c-means 与 k-means实验对比
- python cerberus Validator参数校验
- @程序员,不加班就滚吧 | 程序员有话说
- MySQL安装问题—— Can‘t create directory ‘C:\web\mysql-8.0.11\data\‘ (OS errno 2 - No such file or directo
- jQuery 参考手册