The example below shows you how to create MyBatis SqlSessionFactory
object using an xml configuration. The steps required is to create the configuration file. This file basically contains the connection information to the database and MyBatis configuration such as typeAliases
and the mappers
.
The next steps is to read the configuration file using a org.apache.ibatis.io.Resources
class. This information then passes as the argument to the build()
method of the SqlSessionFactoryBuilder
class. The build()
method return an SqlSessionFactory
object.
package org.kodejava.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 {
// A resource file for MyBatis configuration.
Reader reader = Resources.getResourceAsReader("configuration.xml");
// Creates an SqlSessionFactoryBuilder. This builder need only
// create one time during the application life time.
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// Creates an instance of SqlSessionFactory. This object can be
// used to initiate an SqlSession for querying information from
// the mapped query.
SqlSessionFactory factory = builder.build(reader);
System.out.println("factory = " + factory);
}
}
Below is an example of MyBatis configuration file:
<?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.kodejava.mybatis.support.Record" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.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/kodejava/mybatis/mapper/RecordMapper.xml" />
</mappers>
</configuration>
Maven Dependencies
<dependencies>
<!-- https://search.maven.org/remotecontent?filepath=org/mybatis/mybatis/3.5.11/mybatis-3.5.11.jar -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>
Latest posts by Wayan (see all)
- How do I build simple search page using ZK and Spring Boot? - March 8, 2023
- How do I calculate days between two dates excluding weekends and holidays? - January 12, 2023
- How do I discover the quarter of a given date? - January 11, 2023