草庐IT

2.MyBatis

全部标签

解决MyBatis报错:TypeException: Could not set parameters for mapping

项目场景:基于Vue+SpringBoot+MyBatis框架的菜品管理系统,商家在前端修改菜品状态(“可点”改为“售罄”,或“售罄”改为“可点”)。问题描述当菜品在数据库中只有一个主键name(菜名)时,系统可以正常实现菜品状态修改功能;相关Dao中的代码:/***修改菜品状态**/@Update("UPDATEdishesSETstatus=#{status}WHEREname=#{name}")booleanupdateStatus(Stringname,Stringstatus);当菜品在数据库中有两个键name(菜名)和size(规格)时(相关Dao、Service、ServiceI

MyBatis——学生信息查询系统

MyBatis——学生信息查询系统Resourcepojo层utils层测试层实验要求本实验要求根据表1在数据库中创建一个t_student表,并利用动态SQL进行条件查询、更新和复杂查询操作的相关知识完成一个学生信息查询系统。实验内容表1学生表(t_student)学生编号(id)学生姓名(sname)学生学号(sno)学生专业(smajor)1张三001电气工程及自动化2李四002自动化3王五003测控4悟空999降妖除魔5Hades985计算机科学与技术该学生信息查询系统需要实现以下几个功能:多条件查询。当用户输入的学生姓名不为空时,则只根据学生姓名进行学生信息的查询。当用户输入的学生姓

MyBatis——学生信息查询系统

MyBatis——学生信息查询系统Resourcepojo层utils层测试层实验要求本实验要求根据表1在数据库中创建一个t_student表,并利用动态SQL进行条件查询、更新和复杂查询操作的相关知识完成一个学生信息查询系统。实验内容表1学生表(t_student)学生编号(id)学生姓名(sname)学生学号(sno)学生专业(smajor)1张三001电气工程及自动化2李四002自动化3王五003测控4悟空999降妖除魔5Hades985计算机科学与技术该学生信息查询系统需要实现以下几个功能:多条件查询。当用户输入的学生姓名不为空时,则只根据学生姓名进行学生信息的查询。当用户输入的学生姓

mybatis-plus 分页插件

目录1前言  2配置分页插件2.1 selectPage()测试2.2自定义分页功能1前言         大家之前肯定都用过PageHelper来进行分页,其实mybatisplus中也提供了一个分页插件PaginationInnerInterceptor,其实分页的本质就是内部封装了一个拦截器,对于满足条件的数据进行过滤处理。 2配置分页插件相关配置:@Configuration//扫描mapper接口所在的包@MapperScan("com.atguigu.mybatisplus.mapper")publicclassMyBatisPlusConfig{@BeanpublicMybati

mybatis-plus 分页插件

目录1前言  2配置分页插件2.1 selectPage()测试2.2自定义分页功能1前言         大家之前肯定都用过PageHelper来进行分页,其实mybatisplus中也提供了一个分页插件PaginationInnerInterceptor,其实分页的本质就是内部封装了一个拦截器,对于满足条件的数据进行过滤处理。 2配置分页插件相关配置:@Configuration//扫描mapper接口所在的包@MapperScan("com.atguigu.mybatisplus.mapper")publicclassMyBatisPlusConfig{@BeanpublicMybati

MyBatis和MyBatis-Plus常用注解(全是干货!)

MyBatis和MyBatis-Plus常用注解MyBatisMyBatis中涉及到的所有注解(1)@Select作用:标记查询语句。@Select是MyBatis中的注解之一,用于标记查询语句。该注解可以在接口方法上使用,也可以在XML文件中使用。使用@Select注解时,需要在注解中指定SQL语句试例:@Select("SELECT*FROMusersWHEREid=#{id}")UsergetUserById(@Param("id")Longid);(2)@Insert作用:标记插入语句。@Insert是MyBatis中的注解之一,用于标记插入语句。该注解可以在接口方法上使用,也可以在X

【操作日志】如何在一个SpringBoot+Mybatis的项目中设计一个自定义ChangeLog记录?

  设计一个业务改动信息时的自定义记录,例如新增、修改、删除数据等。并且记录的规则可以通过配置的方式控制。大家需要根据各自业务场景参考,欢迎讨论。伪代码如下:实体类:@TableName("tbl_user")User{StringidStringnameIntegerageStringaddr} DAO层:UserDao{getById(Longid);list(Wrapperwrapper);}  自定义注解:MybatisPropAnno{  Stringvalue  ClassdaoClazz} Http接口请求参数:SaveReq{@MybatisPropAnno(value="na

关于mybatis-plus中Ipage 、page 和pageUtils中的区别

   在使用人人开源框架的时候,通过逆向工程自动生成了分页功能,然而在使用的时候经常被关于Ipage和page等对象搞混,所以记录这篇文章用来介绍之间的区别@OverridepublicPageUtilsqueryPage(Mapparams){IPagepage=this.page(newQuery().getPage(params),newQueryWrapper());returnnewPageUtils(page);}可以看见上面就是逆向工程帮忙生成的分页方法里面出现了三个对象pageUtils、page和Ipage先来将pageUtils吧,pageUtils是人人代码自己存在的一个

Mybatis | Mybatis 一级缓存、二级缓存、三级自定义缓存(Redis)

Mybatis一级缓存、二级缓存、三级自定义缓存Redis实现一、Mybatis缓存二、一级缓存SqlSession级别1.如何开启一级缓存2.什么时候清除缓存?3.什么时候缓存失效?4.存在的问题5.查询加事务与不加事务三、二级缓存Mapper级别1.开启二级缓存2.缓存清除3.存在的问题四、三级缓存第三方自定义缓存(这里用Redis实现)1.使用Mybatis整合Redis实现分布式缓存五、总结一、Mybatis缓存Mybatis为什么要有缓存?       Mybatis提供缓存当然是为了减少了与SQL数据库的I/O交互,提升查询效率。       在Mybatis中存在两种缓存,一级缓

Mybatis | Mybatis 一级缓存、二级缓存、三级自定义缓存(Redis)

Mybatis一级缓存、二级缓存、三级自定义缓存Redis实现一、Mybatis缓存二、一级缓存SqlSession级别1.如何开启一级缓存2.什么时候清除缓存?3.什么时候缓存失效?4.存在的问题5.查询加事务与不加事务三、二级缓存Mapper级别1.开启二级缓存2.缓存清除3.存在的问题四、三级缓存第三方自定义缓存(这里用Redis实现)1.使用Mybatis整合Redis实现分布式缓存五、总结一、Mybatis缓存Mybatis为什么要有缓存?       Mybatis提供缓存当然是为了减少了与SQL数据库的I/O交互,提升查询效率。       在Mybatis中存在两种缓存,一级缓