新冠时期互联网公司倒闭,降薪,无薪休假等信息铺天盖地。只会crud的日子让人烦躁与不安疫,随时都将面临失业。大环境再次变好时 注定是大航海时代(海贼王看多了)。如何才能在众多人中脱颖而出?读过源码是我们傲娇的资本。
为大航海时代准备着,加油吧少年。
看源码之前灵魂的拷问:
1.mybatis如何加载配置文件 ?
2.mybatis执行sql的工厂如何创建 有几种 ?
3.mybatis如何获取mapper ?
4.mybatis执行sql流程 ?
5.mybatis执行完毕数据如何映射 ?
带着这几个问题开始我们的起航
看源码必须要把github上的源码fork到自己的空间
为什么?当然是写解释喽
github地址: https://github.com/mybatis/mybatis-3
废话不多少说开始干就玩了。
包名 | 说明 |
---|---|
annotation | 自定义注解 |
binding | mapper相关 |
buider | 构建,xml,annotation |
cache | 缓存 |
datasource | 数据源,pooled,unpooled,jndi |
exception | 异常定义 |
executor | 执行器 |
io | 通过类加载器在jar包中寻找一个package下满足条件的所有类 |
jdbc | jdbc单元测试工具 |
lang | 指定java版本支持7和8 |
logging | 日志相关 |
mapping | 映射 |
parsing | xml解析,${} 格式的字符串解析 |
plugin | 插件 |
reflection | 反射 |
scripting | 脚本 |
session | 核心,session相关 |
transaction | 事务 |
type | 类型处理器,实现java和jdbc中的类型之间转换 |
centered 文本居中 | right-aligned 文本居右 |
开始阅读来到test中的autoconstructor包中修改mybatis-config.xml
修改后值
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="UNPOOLED">
<!-- 配置连接信息 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
执行内在的CreateDB.sql 注意mysql高版本的可能不支持建表语句中的类型 自行修改下即可 我们主要是探究源码而不是类型。
AutoConstructorTest 类执行没有问题准备完毕。
当然也可以不修改xml 用原来的也没有问题。