MyBatis
文章平均质量分 97
0warnings0errors
这个作者很懒,什么都没留下…
展开
-
MyBatis原理——执行器Executor
目录前言前言在上层接口SqlSession分析中(MyBatis原理——用户交互接口SqlSession)可以看到,它实际上是委托Executor来执行sql的。所以本文来分析下MyBatis的这个组件。首先看下Executor的继承体系:...原创 2021-01-21 09:33:35 · 380 阅读 · 1 评论 -
MyBatis原理——用户交互接口SqlSession
目录概述SqlSession提供的交互方式1. 基于Statement ID2. 基于Mapper接口SqlSession执行分析创建SqlSession的方式SqlSessionManagerSqlSessionTemplate概述正如其名,SqlSession代表着一次SQL会话,是MyBatis提供给用户的顶层接口,用户通过它来访问数据库。源码对该类的注释如下:/** * The primary Java interface for working with MyBatis. * Throu原创 2021-01-19 21:46:37 · 379 阅读 · 0 评论 -
MyBatis原理——DataSource分析及数据库连接池的实现
目录前言PooledDataSourcePoolStatePooledConnection总结前言前边《MyBatis原理——传统JDBC操作数据库》 提到,在MyBatis中,对于数据源DataSource有两个实现:非池化版本UnpooledDataSource和池化版本PooledDataSource。非池化版本比较简单,和传统通过DriverManager获取数据库连接类似,只不过多了MyBatis的一些包装和校验。下边来记录下池化版本的实现。PooledDataSource简单看一下P原创 2020-12-25 17:03:44 · 387 阅读 · 0 评论 -
MyBatis原理——传统JDBC操作数据库
目录传统方式操作数据库DriverManger与DataSource传统方式操作数据库传统方式使用JDBC操作数据库主要有以下几步:加载数据库驱动,并注册从DriverManager获取数据库连接从连接创建Statement对象给Statement对象传入SQL语句及参数调用Statement对应的执行方法,操作数据库对于查询语句,返回ResultSet,遍历即可得到所要查询的数据关闭资源举一个简单的例子:假设在本地部署好了MySQL数据库,并有个名为test的数据库,库中有个简单的原创 2020-11-10 16:52:54 · 265 阅读 · 0 评论 -
MyBatis学习笔记——MyBatis updateByExample方法和updateByExampleSelective方法的区别
使用 MyBatis,通常会使用 MyBatis Generator 插件逆向生成一套接口和.xml映射文件, 来简化数据库SQL操作。在进行数据库的更新时,通常会用到映射出来的mapper的两个更新方法:updateByExample(Record recode, RecordExample example) 和 updateByExampleSelective(Record recode, RecordExample example)。这里记录下两者区别。updateByExample 方法对应的x原创 2020-09-07 16:09:54 · 1980 阅读 · 0 评论 -
Mybatis学习笔记——selectByExample方法和selectByExampleWithBLOBs方法区别
使用 MyBatis,通常会使用 MyBatis Generator 插件逆向生成一套接口和.xml映射文件, 来简化数据库SQL操作。在使用 selectByExample(RecordExample example) 进行数据库的查找时,发现长字段(实践时为 description varchar(256))获取结果为 null 。而其他字段则正常,查看该方法对应的xml配置文件如下:<select id="selectByExample" parameterType="cn.novalue.c原创 2020-08-16 11:16:29 · 3311 阅读 · 0 评论