随笔分类 -  MyBatis源码分析

摘要:一、需求分析 1.1项目需求 通过原始的JDBC代码来操作数据库非常的麻烦,里面存在着太多的重复代码和低下的开发效率,针对这种情况需要提供一个更加高效的持久层框架。 1.2 核心功能 首先来看下JDBC操作查询的代码。 public class JdbcTest { public static vo 阅读全文
posted @ 2021-09-17 14:53 童话述说我的结局 阅读(62) 评论(0) 推荐(0) 编辑
摘要:官网网址:http://mybatis.org/spring/zh/index.html 1 添加相关的依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2. 阅读全文
posted @ 2021-09-08 20:26 童话述说我的结局 阅读(205) 评论(1) 推荐(1) 编辑
摘要:一、事务管理 写到这也快进入收尾阶段了了,在介绍MyBatis中的事务管理时不可避免的要接触到DataSource的内容,所以接下来会分别来介绍DataSource和Transaction两块内容。 1. DataSource 在数据持久层中,数据源是一个非常重要的组件,其性能直接关系到整个数据持久 阅读全文
posted @ 2021-09-08 10:41 童话述说我的结局 阅读(255) 评论(0) 推荐(1) 编辑
摘要:一、binding模块 接下来我们看看在org.apache.ibatis.binding包下提供的Binding模块 ,binding其实在执行sqlSession.getMapper(UserMapper.class);获取接口代理的对象时有用到; 发现这个包里面提供的工具比较少,就几个,先来分 阅读全文
posted @ 2021-09-06 08:57 童话述说我的结局 阅读(246) 评论(0) 推荐(0) 编辑
摘要:一、MyBatis插件 插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或者改变原有的功能,MyBatis中也提供的有插件,虽然叫插件,但是实际上是通过拦截器(Interceptor)实现的,在MyBatis的插件模块中涉及到责任链模式和JDK动态代理。 1. 自定 阅读全文
posted @ 2021-09-03 15:31 童话述说我的结局 阅读(220) 评论(1) 推荐(1) 编辑
摘要:一、缓存模块 MyBatis作为一个强大的持久层框架,缓存是其必不可少的功能之一,Mybatis中的缓存分为一级缓存和二级缓存。但本质上是一样的,都是使用Cache接口实现的。缓存位于 org.apache.ibatis.cache包下。 通过结构能够发现Cache其实使用到了装饰器模式来实现缓存的 阅读全文
posted @ 2021-09-03 08:55 童话述说我的结局 阅读(325) 评论(0) 推荐(0) 编辑
摘要:一.日志模块 首先日志在我们开发过程中占据了一个非常重要的地位,是开发和运维管理之间的桥梁,在Java中的日志框架也非常多,Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口也都不尽相同,为了统一这些工具,MyBati 阅读全文
posted @ 2021-09-01 09:25 童话述说我的结局 阅读(314) 评论(0) 推荐(1) 编辑
摘要:一、类型转换模块 String sql = "SELECT id,user_name,real_name,password,age,d_id from t_user where id = ? and user_name = ?"; ps = conn.prepareStatement(sql); p 阅读全文
posted @ 2021-08-31 21:37 童话述说我的结局 阅读(251) 评论(0) 推荐(0) 编辑
摘要:1.反射模块 MyBatis在进行参数处理、结果集映射等操作时会使用到大量的反射操作,Java中的反射功能虽然强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyBatis提供了专门的反射模块,该模块位于org.apache.ibatis.reflection包下,它对常见的反 阅读全文
posted @ 2021-08-30 19:21 童话述说我的结局 阅读(136) 评论(0) 推荐(1) 编辑
摘要:一、源码下载 1、手动编译源码 为了方便在看源码的过程中能够方便的添加注释,可以从官网下载源码编译生成对应的Jar包,然后上传到本地maven仓库,再引用这个Jar。 首先需要编译打包parent项目,我是用idea进行打包编译的 然后用同样方法将mybaits项目也打个包。,mybaits我在打包 阅读全文
posted @ 2021-08-29 22:16 童话述说我的结局 阅读(336) 评论(0) 推荐(0) 编辑
摘要:Mybatis中文官方文档:https://mybatis.org/mybatis-3/zh/index.html 一、ORM框架的发展史 1.JDBC操作 1.1.JDBC操作特点 目前,通过 Java 语言连接并操作数据库的技术或方式已经有很多了,例如:JDBC, Hibernate,MyBat 阅读全文
posted @ 2021-08-29 22:16 童话述说我的结局 阅读(243) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示