
MyBatis
m0_37039331
这个作者很懒,什么都没留下…
展开
-
MyBatis---执行流程
执行流程:原创 2019-05-04 11:37:56 · 112 阅读 · 0 评论 -
Mybatis之整体架构
传统JDBC流程:注册数据库驱动类,指定数据库URL地址、用户名、密码等连接信息通过 DriverManager 打开数据库连接通过数据库连接创建 Statement 对象通过 Statement 对象执行SQL语句,得到ResultSet对象通过ResultSet读取数据,并将数据转换成JavaBean对象关闭ResultSet、Statement对象以及数据库连接,释放资源O...原创 2019-06-02 19:32:25 · 157 阅读 · 0 评论 -
Mybatis基础支持层之反射工具箱
Reflector是Mybatis中反射模块的基础,每个Reflector对象都有对应一个类。 //对应的Class类型 private Class<?> type; //getter属性的名称集合 private String[] readablePropertyNames = EMPTY_STRING_ARRAY; //setter属性的名称集合 privat...原创 2019-06-09 09:18:55 · 118 阅读 · 0 评论 -
MyBatis之初始化
MyBatis初始化的主要工作是加载并解析mybatis-config.xml配置文件、映射配置文件以及相关的注解信息。MyBatis初始化的入口是 SqlSessionFactoryBuilder#build(Reader reader, String environment, Properties properties) public SqlSessionFactory build(Re...原创 2019-06-15 10:08:56 · 174 阅读 · 0 评论 -
MyBatis之ResultSetHandler
ResultSetHandler 会负责映射select语句查询得到的结果集,public interface ResultSetHandler { //生成对应的结果对象集合 <E> List<E> handleResultSets(Statement stmt) throws SQLException;//生成对应的游标对象 <E> Curs...原创 2019-06-15 10:14:06 · 1168 阅读 · 0 评论 -
Mybatis之分页插件
PageInterceptor上面的@Intercepts注解和@Signature注解,会确定需要拦截的类和方法,然后使用动态代理为Executor创建代理对象。拦截的具体逻辑是在intercept方法里面: public Object intercept(Invocation invocation) throws Throwable { try { //...原创 2019-06-15 21:10:47 · 189 阅读 · 0 评论 -
MyBatis之数据源
DataSourceFactory是数据源工厂,两个子类是PooledDataSourceFactory和UnpooledDataSourceFactory,唯一的区别是,PooledDataSourceFactory的构造函数初始化的是PooledDataSource。PooledDataSource和UnpooledDataSource都是DataSource的实现类。PooledData...原创 2019-06-18 08:12:50 · 2359 阅读 · 0 评论