本次配置前提需要先安装好Maven
一、Mybaits环境搭建
1、先创建一个普通的Maven工程,并在pox.xml文件中配置Mybaits坐标。坐标官方地址https://mybatis.org/mybatis-3/zh/getting-started.html
2、创建Mybaits的主配置文件SqlMapConfig.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="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!-- 配置事务类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源 -->
<dataSource type="POOLED">
<!-- 配置数据库的基本信息 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/eesy"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
二、测试配置环境
1、在数据库中创建一张测试表,并创建其相关的实体类和dao层接口
2、在resources文件夹中按全限定名层级结构创建dao层接口的映射文件(文件类型xml,如IUserDao.xml)。注意:按全限定名层次结构。
<?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">
<!-- 注意:namespace的值必须是全限定名 -->
<mapper namespace="com.liupanpan.dao.IUserDao">
<!-- 配置查询所有用户,id必须和借口中方法名称一致 -->
<select id="findAll">
select * from user
</select>
</mapper>
2、在主配置文件中添加映射文件的信息
<!-- 指定映射文件的配置位置,映射文件是指每个dao独立的配置文件 -->
<mappers>
<mapper resource="com/liupanpan/dao/IUserDao.xml" />
</mappers>
3、创建测试类进行测试
package com.liupanpan.test;
import com.liupanpan.dao.IUserDao;
import com.liupanpan.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
import java.util.ResourceBundle;
public class MybatisTest {
public static void main(String[] args) throws Exception {
// 1、读取配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
// 2、创建SqlSessionFactory对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(is);
// 3、使用工厂创建SqlSession对象
SqlSession sqlSession = factory.openSession();
// 4、使用SqlSession创建Dao接口代理对象
IUserDao userDao = sqlSession.getMapper(IUserDao.class);
// 5、使用代理对象调用相关方法
List<User> users = userDao.findAll();
// 6、遍历结果集
for (User user: users) {
System.out.println(user);
}
sqlSession.close();
is.close();
}
}