zoukankan      html  css  js  c++  java
  • mybatis 自定义查询语句

    通过mybatis插件生成的mapper文件只有基本的增、删、改、查、汇总。但是实际使用场景中,总是有各种需要连表、汇总、分组查询的需求,那我们一般都通过自定义查询语句去实现。

    有时候会有表结构更改的,重新生成mapper、entity等文件会覆盖原文件。为了减少这种修改,我们一般都重新新建一个文件来区分开。

    只需要两步就可以啦,少说话,看代码。

    1. 新增自定义mapper文件

    <?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配置并进行调用

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

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

  • 相关阅读:
    probuf了解
    rebbitmq-RPC(C#)
    获取指定数量的有序列表
    RPC(Remote Procedure Call Protocol)
    正则表达式(c#)
    02_python函数
    01_python基础
    养生茶
    测试左右移浅淡
    python类的组合
  • 原文地址:https://www.cnblogs.com/selinamee/p/7162666.html
Copyright © 2011-2022 走看看