1. 创建简单的 Java Project 工程,把 mybatis(mybatis-3.4.6.jar)和 mysql(mysql-connector-java-8.0.11.jar)放工程里
2. 创建一个资源文件夹(右键工程名-->找到Resource Folder)
3. 在资源文件夹中创建一个mybatis.xml内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置数据连接环境:driver、url、username、password -->
<environments default="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:///test?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 关联 Mapper.xml 配置文件 -->
<mappers>
<mapper resource="com/mapper/userMapper.xml"/>
</mappers>
</configuration>
4. 配置好 Mybatis 后我们就开始写测试代码,把包的目录结构创建好(dao、mapper、entity)
5. 实体和数据库里面的表字段依依对应(不对应的话需要做一个映射,不映射查询出来的数据为 null),写相应的 get、set、toString、构造方法。
6. 配置 Mapper 文件,具体内容如下,如果实体和数据库名称不一致也给出了映射的代码,参考<resultMap>标签:
<?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:命名空间,是某一个 dao 层的具体路径 -->
<mapper namespace="com.dao.getUser">
<resultMap type="com.entity.User" id="User">
<result property="userId" column="user_id"/>
<result property="userName" column="user_name"/>
<result property="userPassword" column="user_password"/>
<result property="userSex" column="user_sex"/>
</resultMap>
<select id="getUserAllEentity" resultType="com.entity.User" resultMap="User">
SELECT * FROM user
</select>
</mapper>
7. 在 dao 层中写一个测试类,方法名和 Mapper 中的 <SELECT> 标签ID必须一致。我的代码如下:
@Test
public void getUserAllEentity() throws IOException {
// 1. 启动 Mybatis 框架
SqlSessionFactoryBuilder sessionFactoryBuilder = new SqlSessionFactoryBuilder();
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory sessionFactory = sessionFactoryBuilder.build(inputStream);
SqlSession session = sessionFactory.openSession();
// 2. 调用局部配置文件中的 SQL 语句
List<User> userList = session.selectList("com.dao.getUser.getUserAllEentity");
for (User user : userList) {
System.out.println(user);
}
}
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");--读取资源文件中的 mybatis.xml 主配置文件,不是 Mapper 配置喔!
8. 执行单元测试代码,就可以在控制台输出你数据库中的数据了。