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