MyBatis-缓存
参考文献
聊聊MyBatis缓存机制
MyBatis-操作技巧
参考文献
Insert Statements
using foreach to do batch insert with mybatis
批量插入
MyBatis(三)-数据类型映射
参考文献
深入剖析 MyBatis 核心原理 – 杨四正
数据类型映射
数据库类型
Java类型
VARCHAR
java.lang.String
CHAR
Java.lang.String
BLOB
java.lang.byte[]
INTEGER UNSIGNED
java.lang.Long
TINYINT UNSIGNED
java.lang.Integer
SMALLINT UNSIGNED
java.lang.Integer
MEDIUMINT UNSIGNED
java.lang.Integer
BIT
java.lang.Boolean
BIGINT UNSIGNED
java.math.BigInteger
FLOAT
java.lang.Float
DOUBLE
java.lang.Double
DECIMAL
java.math.BigDecimal
TypeHandler
MyBatis 中的类型转换器就是 TypeHandler 这个接口,其定义如下:
12345678910111 ...
MyBatis(二)-反射机制
参考文献
深入剖析 MyBatis 核心原理 – 杨四正
Reflector
Reflect是MyBatis反射模块的基础.要使用反射模块操作一个Class,都会先将Class封装成一个Reflector对象,在Reflector中缓存Class的元数据信息,这可以提高反射执行的效率.
核心初始化流程
既然是涉及反射操作,Reflector 必然要管理类的属性和方法,这些信息都记录在它的核心字段中,具体情况如下所示.
12345678910111213141516171819202122232425262728293031323334public class Reflector { private static final MethodHandle isRecordMethodHandle = getIsRecordMethodHandle(); /** * 该Reflector对应封装的Class类型 */ private final Class<?> type; /** * 可读 可写属性的名称集合 */ private ...
MyBatis(一)-基础
参考文献
mybatis是如何防止SQL注入的
聊聊MyBatis缓存机制
JDBC操作
说明 JDBC 操作的核心步骤
注册数据库驱动类,指定数据库地址,其中包括 DB 的用户名、密码及其他连接信息;
调用 DriverManager.getConnection() 方法创建 Connection 连接到数据库;
调用 Connection 的 createStatement() 或prepareStatement()方法,创建 Statement 对象,此时会指定 SQL(或是 SQL 语句模板 + SQL 参数);
通过 tatement 对象执行 SQL 语句,得到 ResultSet 对象,也就是查询结果集;
遍历 ResultSet,从结果集中读取数据,并将每一行数据库记录转换成一个 JavaBean 对象;
关闭 ResultSet 结果集、Statement 对象及数据库 Connection,从而释放这些对象占用的底层资源.
MyBatis特性
MyBatis中一个重要的功能就是可以帮助Java开发封装重复性的JDBC代码.
通过Map ...