Mybatis
文章平均质量分 60
Mybatis踩坑记录
会编程的林俊杰
这个作者很懒,什么都没留下…
展开
-
当mybatis where条件中使用in关键字出现的问题
一、出现的问题:1、查询时:Mybatis:Mysql:2、删除时:Mybatis:Mysql:通过分析查询、删除时的两种情况可知,相同的sql语句被执行后,mysql、mybatis的执行结果却不一致。原因: 通过分析可得,Mybatis查询、删除出现不符合预期的问题都是由Mybatis使用#{}替换变量值时导致的。#{}会把传入的数据都当成一个字符串来处理,会在传入的数据上面加一个双引号来处理。比如,select * from s_r.原创 2021-12-22 10:34:39 · 2756 阅读 · 0 评论 -
Mybatis中#{}和${}的区别
一、作用:替换变量值。二、含义不同:# 会把传入的数据都当成一个字符串来处理,会在传入的数据上面加一个双引号来处理。比如,select * from student where name = #{name},传入周杰伦,经处理,为 select * from student where name = "周杰伦"。而 $ 则是把传入的数据直接拼接在sql语句中,不会添加双引号。比如,select * from student where age= #{age},传入18,经处理,为原创 2021-12-22 08:51:02 · 446 阅读 · 0 评论 -
MyBatis代码生成器
1、依赖导入依赖<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.7</version> </dependency>插件<plugin> <!--My...原创 2021-12-21 17:36:20 · 770 阅读 · 0 评论 -
动态sql语句简单使用
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。一、if标签:1、使用时机: 如果这个时候我们有一个需求,就是根据传入的实体类,判断哪些属性不为空,并以此作为查询条件,那么我们就可以用到该标签。2、代码示例:<!-- 根据查询条件进行复合查询...原创 2021-07-04 18:50:37 · 449 阅读 · 1 评论 -
Mybatis中的缓存
一、Mybatis中的缓存1、什么是缓存?缓存就是存在于内存中的临时数据。2、为什么要使用缓存?为了减少和数据库交互的次数,提高执行效率。3、适用于缓存的数据:经常查询并且不经常改变的数据; 数据的正确与否对最终结果影响不大的。4、不适用于缓存的数据:经常改变的数据; 数据的正确与否对最终结果影响很大的。例如:商品的库存、银行的汇率、股市的牌价等。二、Mybatis的一级缓存1、一级缓存是 SqlSession 级别的缓存,只要 Sql...原创 2021-07-04 17:12:36 · 222 阅读 · 1 评论 -
mybatis报错:Invalid bound statement(not found)
引出问题: mybatis报错:Invalid bound statement (not found)的原因很多,但是正如报错提示一样,找不到xml中的sql语句,报错的情况分为三种:原创 2021-06-13 20:55:52 · 17926 阅读 · 1 评论 -
Mapper中SQL配置的参数处理
Mapper接口中方法的参数可分为以下几种情况:单个标量参数,标量类型代表8个基本类型及其包装类、String类型等;注意:当只传一个标量参数时,#{ }中的参数名可以任意写,无须与方法中传递的形参名一致。单个复合参数或Map参数;多个参数 下面着重介绍最后一种情况–多个参数: 在#{ }占位符中指定参数,支持的形式:使用Mybatis的内置名称:arg0、arg1、arg2等分别代表第一个、第二个、第三个参数等,也可以使用param1、param2、param3等分别原创 2021-04-11 21:41:06 · 1121 阅读 · 0 评论