1. 程式人生 > >SQL寫在xml中

SQL寫在xml中

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());
}