MyBatis是一款优秀的持久化框架,支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获得结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain  Old  Java  Object,普通的Java对象)映射成数据库中的记录。

  要使用MyBatis,只需将mybatis-3-4-5.jar 文件置于classpath中即可。

  从XML中构建SqlSessionFactory,每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心 的。SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactoryBuilder的实例。

  从XML文件中构建SqlSessionFactory的实例非常简单,建议使用类路径下的资源文件进行配置。但是也可以使用任意的输入流(InputStream)实例,它包括字符串形式的文件路径或者file://的URL形式的文件路径来配置。MyBatis包含一个名叫Resources的工具类,它包含一些实用方法,可使从classpath或其他位置加载资源文件更加容易。

    String  path = "com/exmple/mybatis-config.xml" ;
InputStream in = Resources.getResourceAsStream(in) ;
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in) ;

XML配置文件(configuration  XML)中包含了对MyBatis系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)。XML配置文件的简单实例:

<?xml  version ="1.0"  encoding="UTF-8"  ?>
<!doctype configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="com" >
<environment id="com">
<transactionManager type="JDBC">
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environments>
<mappers>
<mapper resource="com/example/StudentMapper.xml"/>
</mappers> </environments >
</configuration>

还需要一个资源文件用于记录连接数据库的用户名、密码、连接、驱动类,并把这个资源文件引入上面的配置文件中。

driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
username:test
password:test

最新文章

  1. Oracle数据库操作分类DDL、DML、DCL、TCL类别清单异同
  2. knockoutJS学习笔记04:监控属性
  3. 解决:jmeter查看结果树的响应数据提示超过最大值Response too large to be displayed
  4. HDU 5894 hannnnah_j’s Biological Test (组合数学) -2016 ICPC沈阳赛区网络赛
  5. Spring AOP实现方式三之自动扫描注入【附源码】
  6. javascript高级培训课程(一)
  7. Firemonkey的旁门左道[五]
  8. 图片变换 矩阵 Bitmap Matrix
  9. Mahout快速入门教程
  10. Bootstrap相关的网站
  11. 实战-Mysql主从复制
  12. 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务
  13. Java基础--面向对象编程4(多态)
  14. Spring-注入
  15. ServiceLoader
  16. 关于Linux防火墙&#39;iptables&#39;的面试问答
  17. Qt 状态栏设置
  18. vim—多行注释、取消多行注释
  19. Delphi下OpenGL2d绘图(01)-初始化
  20. 请求是如何传递给StandardEngine的?

热门文章

  1. python之sys.argv[]
  2. Markdown 简单使用教程
  3. Android课程设计第一天Android Studio安装
  4. 喵哈哈村的魔法考试 Round #5 (Div.2) ABCC2
  5. ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
  6. Win10 隐藏盘符
  7. java课程设计全程实录——第0天
  8. 【经验总结】北邮OJ
  9. Phalcon初认识
  10. Oracle AWR报告的生成