mybatis
文章平均质量分 95
collective_lz
技术人员的目标不是拥有多么厉害的技术,而是用技术去促成一个产品的成功
展开
-
mybatis源码分析,sql语句执行的完整流程
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。如何新建MyBatis源码工程请点击MyBatis源转载 2017-11-11 20:47:04 · 323 阅读 · 0 评论 -
关于Mybatis的$和#的细节,源码解析
前言在JDBC中,主要使用的是两种语句,一种是支持参数化和预编译的PrepareStatement,能够支持原生的Sql,也支持设置占位符的方式,参数化输入的参数,防止Sql注入,一种是支持原生Sql的Statement,有Sql注入的风险。在使用Mybatis进行开发过程中,隐藏了底层具体使用哪一种语句的细节,我们通过使用#和$告诉Mybatis,我们实际上进行的是怎么样的操作,需要对语转载 2017-07-27 19:58:24 · 4079 阅读 · 3 评论 -
Spring提取@Transactional事务注解的源码解析
Spring提取@Transactional事务注解的源码解析声明:本文是自己在学习spring注解事务处理源代码时所留下的笔记; 难免有错误,敬请读者谅解!!!1、事务注解标签 2、tx 命名空间解析器事务tx命名空间解析器TxNamespaceHandlerorg.springframework.transaction.config.TxNamesp...原创 2017-12-12 23:22:36 · 3579 阅读 · 1 评论 -
mybatis加载xml文件错误及其影响
一次在做一个项目的过程中,发现mybatis加载xml文件错误,导致了后面所有的sql都报了这个sql语句的错误,一时没有摸到头脑,在此分析下。在mybatis加载xml文件的时候,会解析所有的文件,同时把statement错误的文件放到一个集合中去,代码如下: private void buildStatementFromContext(List list, String requir...原创 2017-12-11 21:44:26 · 3125 阅读 · 0 评论 -
MyBatis源码分析(一)基本请求流程
Mybatis plus是近两年比较流行的框架,在一个方法执行的时候实际上是进入了MapperProxy的invoke方法,如果是查询,一路下去,后面进入了RoutingStatementHandler的query()方法。一、NativeMethodAccessorImpl在后面会发现调用method.invoke()方法的时候,都进入了NativeMethodAccessorImpl方法中...原创 2019-01-16 21:29:35 · 5345 阅读 · 0 评论 -
MyBatis源码分析(二)prepareStatement预编译的执行流程
通常我们如果自己写建立数据库连接的代码的时候,都会这么写pstmt = conn.prepareStatement(sql);pstmt.setString(1, email);result = pstmt.executeQuery();而Mybatis是怎么封装,又是怎么进行预编译的呢,今天就一文让你理解Mybatis的原理一、获取Executor我们之前一篇文章《MyBatis源码分析(一)基本请求流程》讲了Mybatis执行的基本流程,包括Plugin插件。其实在执行过程中,所有的sq原创 2020-06-16 22:17:02 · 3154 阅读 · 0 评论