mybatis 自定义查询语句

经过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);
    }
}

 

就这样简单,愉快的使用吧~插件

相关文章
相关标签/搜索