MyBatis学习(二)分析源代码-总配置相关

上一篇是一个从网上找到的例子,MyBaits果然上手快,这么快就能搭起一个HelloWord,很有成就感啊。

下面一句一句的分析一下。

String resource = "domain/configuration.xml";

第一句代码用路径名和文件名做了一个字符串,没什么好说的。

Reader reader = Resources.getResourceAsReader(resource);

第二句使用一个java.io中的reader字符流,读取了什么,肯定是读取了配置信息吧,通过字面意思也可以推测出来Resources.getResourceAsReader。

那么这时候reader这个对象就就把总配置文件configuration.xml加载到内存中了,接下来想必是要解析这个.xml总配置文件了。

SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);

首先是什么,查看源码,这是一个直接继承自object的类,其中只有4个重载的build方法,

返回值是SqlSessionFactory,接下来的很复杂我看不懂;

整理一下思路,在这一句中new了一个SqlSessionFactoryBuilder对象,这个对象用参数reader,建立了一个SqlSessionFactory对象,那我暂时这样理解,这是一个MyBatis专用的解析总配置文件的类,这个类最终构建了一个SqlSessionFactory对象。

下一句:

SqlSession session = ssf.openSession();

既然是个Factory,那么想必是个工厂类,用工厂方法生成了一个SqlSession,这个SqlSession后面我一直在用,那么好,虽然没搞明白全部,我总算的到可用的对象了。

 

下面是增删改查了,先不看,回头研究刚才一直在用的configuration.xml总配置文件

configuration够难的,是配置的意思,根标签也是configuration。

先看能看懂的property,有键值对key&value两个字符串,这四个学过JDBC的都知道,

再看其上层标签,<dataSource type="POOLED">

有POOLED和UNPOOLED两种type,UNPOOLED只能有上面的四个子标签,而POOLED可以配置JDBC连接池,详细的配置以后再说。

 

在看上面的Alias,明显是在给实体类起别名可以理解

<transactionManager type="JDBC" />

是说事务由JDBC控制也可以理解

<environments default="development">
         <environment id="development">

环境是开发环境,据说还有测试,发布等等的环境,以后再详说

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值