經過mybatis插件生成的mapper文件只有基本的增、刪、改、查、彙總。可是實際使用場景中,老是有各類須要連表、彙總、分組查詢的需求,那咱們通常都經過自定義查詢語句去實現。java
有時候會有表結構更改的,從新生成mapper、entity等文件會覆蓋原文件。爲了減小這種修改,咱們通常都從新新建一個文件來區分開。sql
只須要兩步就能夠啦,少說話,看代碼。mybatis
1. 新增自定義mapper文件app
<?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.selicoco.sango.dao.UserInfoDao">
<select id="selectInfoSum" parameterType="Map" resultType="java.lang.Integer">
select count(id) as num
from msc_product_summary where birthDay BETWEEN #{dayStart} AND #{dayEnd}
</select>
</mapper>
2. Dao配置並進行調用spa
@Repository public class UserInfoDao { @Autowired private UserInfoMapper userInfoMapper; @Autowired private SqlSessionTemplate sqlSessionTemplate; private final static String SANGO_USER_INFO_DAO_SPACE = "com.selicoco.sango.dao.UserInfoDao."; public int selectInfoSum (Date birthDayStart, Date birthDayEnd) { Map<String, Date> param = new HashMap<>(); param.put("dayStart", birthDayStart); param.put("dayEnd", birthDayEnd); return sqlSessionTemplate.selectOne(SANGO_USER_INFO_DAO_SPACE + "selectInfoSum", param); } }
就這樣簡單,愉快的使用吧~插件