摘要:
1、Mybatis插件支持拦截的对象 MyBatis 允许使用插件来拦截的方法调用,可在映射语句执行流程中进行拦截调用。Mybatis插件支持拦截的对象: 1、Executor:执行器 Executor执行SQL的增删改查操作。 Mybatis中对Executor做插件拦截的位置,Configura 阅读全文
摘要:
在Mybatis源码(七):SQL执行流程中已提到,根据不同的sqlCommandType执行不同类型的SQL,下面来看看调用Mapper接口的新增、修改、删除,Mybatis中做了哪些处理。 1、新增 1 // 新增用户 2 User user = new User(); 3 user.setId 阅读全文
摘要:
在Mybatis源码(七):SQL执行流程中已提到,根据不同的sqlCommandType执行不同类型的SQL,下面来看看调用Mapper接口的查询,Mybatis中做了哪些处理。 UserMapper mapper = sqlSession.getMapper(UserMapper.class); 阅读全文
摘要:
SQL执行通过接口代理对象调用接口方法完成的。在Mybatis中所有Mapper接口代理对象都是JDK动态代理生成的,最终都会调用MapperProxy中的invoke方法。Mapper接口代理对象执行接口方法,MapperProxy#invoke() 核心代码: 1 public Object i 阅读全文
摘要:
Mapper接口通过sqlSession的getMapper()方法获取,接口无法创建实例对象,获取到的是其代理对象,下面来看看Mapper接口的代理是如何创建的。 UserMapper mapper = sqlSession.getMapper(UserMapper.class) Mapper接口 阅读全文
摘要:
SqlSession对象创建核心在SQL执行器Executor对象的创建,sqlSession持有Executor对象。 1、SqlSession对象的创建 应用程序每次操作数据库,都需要创建一个sqlSession对象,通过sqlSession完成SQL语句的执行。下面来看看sqlSession的 阅读全文
摘要:
1、Mapper配置方式 1、package方式 指定包路径: <mappers> <package name="org.snails.mapper"/> </mappers> 2、resource方式 指定mapper.xml文件的相对路径: <mappers> <mapper resource= 阅读全文
摘要:
Mybatis有两个核心配置,全局配置会影响Mybatis的执行;Mapper配置定义了查询的SQL,下面我们来看看Mybatis是如何加载配置文件的。 本文基于Mybatis 源码(一):源码编译准备中案例进行分析,主要示例代码如下: 1 public static void main(Strin 阅读全文
摘要:
Apache DBUtils和SpringJdbcTemplate简化了数据库的操作,但是提供的功能较少。在实际的开发过程中,用的大多都是ORM框架,较为流行的ORM持久层框架:Hibernate、Mybatis。 ORM ( Object Relational Mapping ),即对象关系映射, 阅读全文
摘要:
本文主要介绍基于JDBC的两个优秀的工具包,Apache DBUtils和SpringJDBC的基本应用。 1、Apache DBUtils DBUtils样例的官网地址:https://commons.apache.org/proper/commons-dbutils/examples.html。 阅读全文