开发中mybatis(SQL)遇到的问题或遗忘的知识

  1. 使用@select注解方式实现模糊查询 --like
    不使用concat会出现
    Parameter index out of range (1 > number of parameters, which is 0)这个错误

正确示例:
1.@Select("SELECT * FROM shop WHERE shop.name_text LIKE CONCAT(’%’,#{0},’%’) ")
public List selectByName(String name_text);
2.@select(“select * from user where name like #{name}” )

public list<User> getUser(@param("name")String name);

这里不需要在like 字段后面进行'%#{name}%'处理,而是把name="%"+name+"%" 左右添加一个%字符串;
  1. springBoot-tk.mybatis.mapper.MapperException: 无法获取实体类对应的表名!
    增加@MapperScan注解的时候,导入包为import tk.mybatis.spring.annotation.MapperScan;
    不要选择 org.mybaties.spring.annotation.MapperScan

  2. sql语句中使用标签功能首尾加上”)

  3. 插入中文乱码问题?
    jdbc:mysql://127.0.0.1:3306/xxx?useSSL=false&zeroDateTimeBehavior=convertToNull&characterEncoding=utf8
    加入characterEncoding=utf8 进行utf8编码

  4. @Resutl注解—结果集中数据映射到实体类的属性中–可实现多条数据封装到实体类集合对象中
    如:
    @Select(“SELECT” +
    " " +
    " FROM" +
    " [表名]" +
    " WHERE" +
    " ")
    @Results({@Result(id = true, column = “id”, property = “id”, javaType = Integer.class),
    @Result(property = “实体类集合属性名”, column = “作为传递到关联方法的变量名(arg)”,
    many = @Many(select = "
    …*.bMethod"))})
    List aMethod();

@Select(“SELECT” +
" *" +
" FROM" +
“[表名]” )
List bMethod(@Param(“arg”) T arg);

  1. MyBatis之注解@Insert @Update @select @Many @One 实际使用https://blog.csdn.net/m0_37779570/article/details/81514757

  2. MyBatis框架核心之注解使用resultMap及多表查询
    https://blog.csdn.net/wfq784967698/article/details/78786001

  3. mysql 查询当天、本周,本月,上一个月的数据
    https://www.cnblogs.com/benefitworld/p/5832897.html

  4. mysql 查询多少天(月,年)内 每一天的数据
    select count(*),substr(t.date,1,10) from table t where t.date like ‘年-月%’ group by substr(t.date,1,10)
    https://www.cnblogs.com/niaowo/p/4008729.html

  5. DATEDIFF(时间字段,要比较的时间(可为字符串或date)) = n
    表示 该时间字段与指定时间的差为n(前-后)天的所有字段值)

  6. DATE_FORMAT(时间字段,’’‘pattern’)—pattern-’%y(Y)-%m(M)-%d(D)'小写为简化
    表示将时间字段格式化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值