1.新一个 Dao 接口:
import cn.edu.pzhu.cg.entities.Employee;
public interface EmployeeMapper {
public Employee getEmployeeById(Integer id);
}
2.创建 Mapper 文件:
Mapper 文件中存放的是 SQL 语句。
<?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="cn.edu.pzhu.cg.dao.EmployeeMapper">
<select id="getEmployeeById" resultType="cn.edu.pzhu.cg.entities.Employee">
select * from employee where id = #{id}
</select>
</mapper>
- namespace:该 mapper.xml 文件映射的 Dao 类
- id:对应接口中的方法名,当调用接口的方法时,将执行该条 SQL 语句。
- resultType:该 SQL 语句返回值的类型
2.创建全局的配置文件:
<?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>
<!--
mybatis 可以引入 properties 文件 :
1.resource:引入类路径下的文件
2.url:引入网络或磁盘文件
-->
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!-- 将写好的 sql映射文件,注册到全局的配置文件中 -->
<mappers>
<mapper resource="EmployeeMapper.xml" />
</mappers>
</configuration>
3.测试方法:
@Test
public void test() throws IOException {
//1.获取 SqlSessionFactory 工厂实例
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取 SqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
//3.执行接口中的方法
Employee emp = sqlSession.selectOne("cn.edu.pzhu.cg.entities.EmployeeMapper.selectEmployee", 1);
System.out.println(emp);
} finally {
sqlSession.close();
}
}