1. add mybatis and mysql dependencies in pom.xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
</dependencies>
2. create mybatis config 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>
<properties resource="jdbc.properties"/>
<environments default="development">
<environment id="development">
<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>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml" />
</mappers>
</configuration>
3. config xml need jdbc.properties resource
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/demo
username=root
password=root
4. add UserMapper.xml
namespace should equals UserMapper’s package name
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.UserMapper">
<select id="findAllUsers" resultType="com.model.User">
select * from USER;
</select>
</mapper>
5. New Mapper Interface
public interface UserMapper {
public List<User> findAllUsers();
}
6. Create Test Class
public class MyTest {
public static void main(String[] args) throws IOException {
String resource = "Config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper user = sqlSession.getMapper(UserMapper.class);
List<User> userList = user.findAllUsers();
System.out.println(userList);
}
}
6. show result
[User{name='pp', age=18}, User{name='aa', age=12}, User{name='www', age=1}, User{name='aaa', age=10}, User{name='qqq', age=1}, User{name='zz', age=12}, User{name='xx', age=123}]
7. OK, Mybatis already set up