假設現在環(huán)境已配好,需要使用動態(tài)代理的Dao掠手,也被稱為mapper
1. 創(chuàng)建接口UserMapper.java
接口和以前一樣憾朴,正常定義
public interface UserMapper {
public User getUserById(Integer id);
}
2. 創(chuàng)建UserMapper.xml ,用于編寫sql映射
注意:
- 在同一包下創(chuàng)建映射文件
- namespace 為接口的全路徑
- id 為接口對應的方法
- 輸入喷鸽、輸出參數類型要一致
<?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.itheima.mapper.UserMapper">
<select id="getUserById" parameterType="java.lang.Integer" resultType="com.itheima.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
3. 在配置文件中 加載映射
<package name="com.itheima.mapper"/>
在映射文件和接口文件 同一包下時众雷,可使用package配置。
4.測試程序
- 獲取session
- 傳入mapper接口類魁衙,獲取mapper
- 調用mapper方法
public class Demo1 {
private SqlSessionFactory factory;
@Before
public void setUp() throws IOException {
String resource = "SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
this.factory = new SqlSessionFactoryBuilder().build(inputStream);
}
public void run1(){
SqlSession session = this.factory.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.getUserById(5);
System.out.println(user);
session.commit();
}