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