mybatis开发总结

mybatis开发总结

  • 数据库通过逆项工程导出javaBean

    • 逆向工程配置文件夹需要和项目中文件夹层级名称一致
  • 传入参数问题

    • 传一个参数

      • 这是正常情形,直接传入参数就可

        Integer getXXX(String day);
        
        <select id="xxx" resultType="java.lang.Integer" parameterType="java.lang.String" >
        select count(*) from hits where month(createtime) =month(NOW()) and day(createtime)=#{day} group by YEARWEEK(createtime)
         </select>
        
    • 传多个参数

      • 需要注解@param,而且导入的包为import org.apache.ibatis.annotations.Param;

      • 实例

            int getXXX(@Param("begindata") String begindata,@Param("enddata") String enddata);
        
         <select id="getXXX" resultType="java.lang.Integer" parameterType="java.lang.String" >
        select count(*) from hits where  DATE_FORMAT(createtime,'%Y-%m-%d')>=DATE_FORMAT(#{begindata}, '%Y-%m-%d') and DATE_FORMAT(createtime,'%Y-%m-%d')&lt;=DATE_FORMAT(#{enddata}, '%Y-%m-%d');
         </select>
        
  • 返回值问题

    • 返回单个参数

    • 返回集合参数

      无论返回单个还是多个,返回参数类都为单个类,只不过查出多个,返回的是单个类型的集合。

  • 特殊符号问题

    • mybatis中<=号不能用,<号为特殊字符,需要用字符代替。

      • 实例

         <select id="getXXX" resultType="java.lang.Integer" parameterType="java.lang.String" >
        select count(*) from hits where  DATE_FORMAT(createtime,'%Y-%m-%d')>=DATE_FORMAT(#{begindata}, '%Y-%m-%d') and DATE_FORMAT(createtime,'%Y-%m-%d')&lt;=DATE_FORMAT(#{enddata}, '%Y-%m-%d');
         </select>
        
  • #{}和${}区别

    • #{}是将值转为字符串带入,已自动加上‘ ’,而${}保留原来传入类型加入。
  • 日期查询问题

    • 当涉及到日期查询的时候,要使用DATE_FORMAT()函数将条件格式和条件值格式统一

      where  DATE_FORMAT(createtime,'%Y-%m-%d')>=DATE_FORMAT(#{begindata}, '%Y-%m-%d')
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值