下面的示例向您展示如何SqlSessionFactory使用xml配置创建MyBatis对象。所需的步骤是创建配置文件。该文件基本上包含与数据库和MyBatis配置的连接信息,例如typeAliases和mappers。
下一步是使用org.apache.ibatis.io.Resources类读取配置文件。此信息将传递作为类build()方法的参数SqlSessionFactoryBuilder。该build()方法返回一个SqlSessionFactory对象。
package org.nhooo.example.mybatis; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.Reader; public class SqlSessionFactoryDemo { public static void main(String[] args) throws IOException { // MyBatis配置的资源文件。 Reader reader = Resources.getResourceAsReader("configuration.xml"); //创建一个SqlSessionFactoryBuilder。这个建造者只需要 // 在应用程序生存期内创建一次。 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //创建SqlSessionFactory的实例。该对象可以是 // 用于启动SqlSession以从中查询信息 // 映射的查询。 SqlSessionFactory factory = builder.build(reader); System.out.println("factory = " + factory); } }
以下是MyBatis配置文件的示例:
<?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> <typeAliases> <typeAlias alias="record" type="org.nhooo.example.mybatis.domain.Record"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/musicdb"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/nhooo/example/mybatis/mapper/RecordMapper.xml"/> </mappers> </configuration>