
Mybatis-Plus
文章平均质量分 62
Mybatis-Plus
ximeneschen
这个作者很懒,什么都没留下…
展开
-
mybatis框架使用中出现的错误java.lang.NoSuchMethodException
使用Mybatis的标签进行一对一查询,标签嵌套在标签里面。标签使用select属性调用写好的映射文件中的方法selectMovieNameByID,这个方法需要一个Integer的参数,通过column来传递,但是mm(m.mid的别名)是int类型,而selectMovieNameByID需要一个Integer的参数,所以发生错误。把方法的类型限定删除,方法在执行时就会自动检测参数的类型。执行正常,希望大佬们知道原理的留言指点一下。...原创 2022-07-31 18:16:01 · 1693 阅读 · 0 评论 -
mybatis中@Results,@ResultMap注解使用
ResultMap注解的使用,原创 2022-07-31 15:25:26 · 7733 阅读 · 4 评论 -
sql注入及mybatis防止sql注入
一、Sql 注入漏洞详解Sql 注入产生原因及威胁:当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句。这种网站内部直接发送的Sql请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用户输入的数据被构造成恶意 Sql 代码,Web 应用又未对动态构造的 Sql 语句使用的参数进行审查,则会带来意想不到的危险。Sql 注入带来的威胁主要有如下几点猜解后台数据库,这是利用最多的方式,盗取网站的原创 2022-03-25 03:53:44 · 3749 阅读 · 0 评论 -
mybatisPlus分页限制500条数据
https://github.com/baomidou/mybatis-plus/issues/1113原创 2021-10-19 13:18:58 · 1259 阅读 · 0 评论 -
${}和#{}的区别
两者都可以在mybatis中用在输入映射#{}是预编译处理,${}是字符串替换。mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。补充:在mybatis中使用#{}可以防止sql注入,提高系统安全性在大多数情况下,我们都是采用#{}读取参数内容.但是在一些特殊的情况下,我们还是需要使用${}读取参数的.比如 有两张表原创 2021-08-26 17:08:53 · 105 阅读 · 0 评论 -
MyBatis-Plus 高级功能 —— 多数据源配置
一、引言在我们实际业务开发中,难以避免需要同时涉及多个数据库,可能一个API中所需要的数据,往往是包含了多个数据库中的数据,这个时候我们就需要在项目运行中,切换数据源。 那为什么会有这篇文章呢,那是因为小编在使用mybatis-plus这个框架,明明一个多数据源配置很简单,但是网上其他博客着实太过于复杂了。从数据源配置、每一个数据源配置一个config类、配置枚举类、还有需要自己实现AOP的,当时小编就在想mybatis-plus是为简化而生,怎么搞这么复杂。接下来不要眨眼,很快就实现了。二、具体实现转载 2021-08-18 16:40:21 · 1936 阅读 · 0 评论 -
MyBatis-Plus 高级功能 —— 实现逻辑删除
一、引言逻辑删除,顾名思义就是通过逻辑判断的手段表示该条数据已删除。二、具体实现删除功能是项目中经常见到的需求,比如需要删除某一件商品,删除一个订单,但往往不会把实际数据删除,而是选择逻辑删除来实现。小编拿用户举例子,用户表中有一个is_delete字段标识该用户是否被删除,0 表示未删除 1 表示已删除。步骤一:首先我们需要配置未删除、已删除分别标识的状态码是什么,这里采用的yml格式。mybatis-plus: global-config: db-config: #转载 2021-08-18 16:26:44 · 1199 阅读 · 1 评论 -
MyBatis-Plus 高级功能 —— 乐观锁插件
一、引言先来大概普及一下数据库锁的概念悲观锁:时刻保持着一个悲观的态度,对谁都不信任,总想着别人会修改我的数据,所以为了防止别人修改,每次都会上锁,防止别人修改自己的数据。导致的后果就是每次想要拿到数据就必须要等待拿到锁,是一个很浪费时间的过程,如果访问量很大就是悲观锁一个致命的缺陷。乐观锁:乐观锁对这个世界都很乐观,对每个想要获取数据的操作,他都会认为大家不会对自己的数据进行修改,所以不会上锁,在访问量很大的时候相比于悲观锁,节省了很多时间,用户不需要等待获取锁。如果说大量读取数据转载 2021-08-18 16:18:14 · 389 阅读 · 0 评论 -
MyBatis-Plus 高级功能 —— 自动填充功能
一、引言小编先来解释下自动填充是做什么的,大家有没有在数据入库的时候,不管新增或者修改数据,都要手动来设置添加时间和修改时间。而且每个插入都需要设置,而且数据库还设置不能为空,就很烦恼。虽然可以在数据库设置默认值,但小编没得数据库表修改权限呐,那就从技术上来解决这个问题吧。 if (medicalProcedures.isEmpty()) { procedureConverter.setHisname(emrIpdEncounters.get(0).getHisName()); //转载 2021-08-18 16:05:17 · 639 阅读 · 0 评论 -
MyBatis-Plus 分页查询以及自定义sql分页
一、引言分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页。物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的状态,实施性比较强,一般适用于数据量比较大,数据更新比较频繁的场景。逻辑分页:一次性把全部的数据取出来,通过程序进行筛选数据。如果数据量大的情况下会消耗大量的内存,由于逻辑分页只需要读取数据库一次,不能获取数据库最新状态,实施性比较差,适用于数据量小,数据稳定的场合。那么MP中的物理分页怎么转载 2021-08-18 15:21:13 · 3244 阅读 · 0 评论