SQL寫在xml中
阿新 • • 發佈:2019-01-04
easymybatis提供的一些查詢方式已經滿足大部分的查詢需求,但是有些複雜的sql語句還是需要寫在xml檔案中。easymybatis同樣支援將sql語句寫在xml中,具體配置如下:
- 在application.properties新增一句
mybatis.mapper-locations=classpath:/mybatis/mapper/*.xml
這句話用來指定xml檔案的存放地。
在resources目錄下新建一個mybatis資料夾,在mybatis資料夾下新建mapper資料夾。
新建一個xml檔案,名字跟Dao名字一致,如TUserDao.xml,建完後的檔案路徑是resources/mybatis/mapper/TUserDao.xml在xml中新增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">
<!-- 注意:檔名必須跟Dao類名字一致,因為是根據檔名做關聯。 -->
<mapper>
<select id="selectByName" parameterType="String" resultMap="baseResultMap" >
select * from t_user t where t.username = #{username} limit 1
</select>
</mapper>
這個xml檔案跟其它的mybatis配置檔案一樣,namespace可不寫。這裡baseResultMap沒有看到定義,但是確實存在,因為這個是easymybatis提供的一個內建resultMap。
- 在TUseroDao.java中新增:
TUser selectByName(@Param("username")String username);
- 編寫單元測試用例
@Test
public void testSelectByName() {
TUser user = dao.selectByName("張三");
System.out.println(user.getUsername());
}