mybatis
qq_34412985
Coding make me happy.
展开
-
MybatisPlus报错:BindingException: Invalid bound statement (not found): com...XxxMapper.insert
mybatisplus BindingException Invalid bound statement (not found)原创 2022-11-08 11:39:32 · 1843 阅读 · 0 评论 -
mybatisplus自定义sql使用分页查询
mybatisplus原创 2022-11-08 11:28:51 · 2619 阅读 · 0 评论 -
关于Mybatis中keyProperty属性
Mybatis中insert标签的keyProperty属性的问题今天看一个教程,中间有用mybatis写一个新增的方法,使用到了mybatis中的insert标签,需要新增之后返回新增行的主键ID,由于主键是自增的,所以实现方法可以用到useGeneratedKeys以及keyProperty这两个属性。 例如这样:useGeneratedKeys="true" keyProperty="id" 新增的xml如图: 这里要注意几个问题: 1.keyProperty中对...原创 2022-05-23 15:46:30 · 573 阅读 · 0 评论 -
解决 Mybatis 报错 org.apache.ibatis.ognl.NoSuchPropertyException: XXXCriteria$Criterion.noValue
问题这个 noValue 一定存在,但是报错。 场景就是存在并发的情况下,尤其是在服务刚刚启动的时候,就会发生这个异常。但是很不幸,mybatis 3.4.1 之前,用的 OGNL 都是由这个问题。分析3.4.1 之前的版本的 OgnlRuntime,这里,第三个参数传 0,则永远都是 null。public static final Object getMethodValue(OgnlContext context, Object target, String propertyNam原创 2022-05-19 15:50:32 · 1961 阅读 · 0 评论 -
Mybatis解决数据库Blob类型存储与读取问题
1.Blob介绍首先,先简单介绍下数据库Blob字段,Blob(Binary Large Object)是指二进制大对象字段,顺带介绍下Clob类型,Clob(Character Large Object)是指大字符对象。其中Blob是为存储大的二进制数据而设计的,而Clob是为存储大的文本数据而设计的。JDBC的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作,Mybatis各版本也支持对Blob或者Clob的存储以及读取操作,本文详细介绍Mybat原创 2021-10-31 19:05:17 · 7484 阅读 · 0 评论 -
springboot工程未知道mapper.xml文件位置路径,启动工程不报错,调用接口时报错Invalid bound statement (not found):
2021-06-11 09:23:44,562 ERROR [http-nio-9102-exec-1] WebMvcConfigurer: 接口 [/rest/col/fieldList] 出现异常,方法:com.p.data.metadata.rest.ColRestController$$EnhancerBySpringCGLIB$$dace1a5f.listByTabIdOrViewId,异常摘要:Invalid bound statement (not found): com.pactera.da原创 2021-06-11 09:43:18 · 138 阅读 · 2 评论 -
记录一次mybatis使用
mybatis的xml中使用时不要使用<WHERE></WHERE>否则会提示没有where关键字,填写where关键字,数据源无法初始化,导致工程无法启动mybatis的xml中使用<where></where>中不要包含order by和group by limit等关键字,否则会报错...原创 2021-02-03 14:00:07 · 183 阅读 · 0 评论 -
记录一次mybatis使用mysql的sum统计string类型后返回值为对象值[B@69df0dd2
QUESTION_NM 字段为字符串SELECT A.SYS_CODE, ifnull( SUM( A.TNM ), '0' ) TNMFROM ( SELECT r.SYS_CODE, cps.PROBLEM_ID, cps.QUESTION_NM TNM, cps.QUESTION_TO_BE_SOLVE BSO FROM t_dq_check_rule r ...原创 2020-12-26 20:32:39 · 1035 阅读 · 1 评论 -
mysql对字符串类型数据求和
mysql直接使用sum(varchar)会导致出现结果出现小数位异常,需要使用cast()函数或者CONVERT()对数据进行格式化,具体如下Cast(字段名 as 转换的类型 ),可以转换的类型是有限制的,其中类型可以为:CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型 (DECIMAL (10,2)//设置精度)SIGNED intTIME 时间型 -- 错误 SELECT SUM(price...原创 2020-12-26 20:06:49 · 3846 阅读 · 0 评论 -
Correct the classpath of your application so that it contains a single, compatible version of xxx
Correct the classpath of your application so that it contains a single, comp是因为activiti5.22中引入的mybatis版本和springboot中引入的不一致导致的Spring Boot 启动报如题错误,这种情况是依赖版本的问题引起,一个个依赖排除就可以了。pom.xml把全部依赖注释掉,然后一个个加进去并试启动,最后肯定能找到出问题的那个依赖...原创 2020-10-09 19:10:23 · 2406 阅读 · 0 评论 -
MySQL类型转换 使用CAST将varchar转换成int类型排序
mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过?1 BINARY[(N)]2 CHAR[(N)]3 DATE4 DATETIME5 DECIMAL6 SIGNED [INTEGER]7 TIME8 UNSIGNED [INTEGER]例子:--使用CAST将varchar转换成int类型排序select server_id from cardserver where game_id = 1 order by CAST(server_i原创 2020-08-17 12:53:53 · 1583 阅读 · 0 评论 -
Mybatis 中的<![CDATA[ ]]>浅析
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。但是有个问题那就是<if test="..原创 2020-08-17 12:39:18 · 238 阅读 · 0 评论 -
Mybatis java.sql.SQLException: sql injection violation, syntax error: syntax error
题中异常为:java.sql.SQLException: sql injection violation, syntax error: syntax error, expect RPAREN, actual IDENTIFIER t1这是由于mybatis 防注入机制无法识别字符。所以可以将字符以括号的形式区分开来。原SQL修改 为 distinct (t1.codename)...原创 2020-08-17 12:37:21 · 1859 阅读 · 0 评论 -
mybatis往oracle新增数据insert的sql语句报Cause: java.sql.SQLException: 无效的列类型: 1111
Caused by: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='jobStatus', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='n原创 2020-08-15 18:25:11 · 916 阅读 · 0 评论 -
mybatis批量插入数据到oracle
mybatis 批量插入数据到oracle报 ”java.sql.SQLException: ORA-00933: SQL 命令未正确结束“ 错误解决方法oracle批量插入使用 insert all into table(...) values(...) into table(...) values(...) select * from dual; 语句来解决,但一直报如下错误### The error may involve ApplaudDaoImpl.addList-Inline### .原创 2020-07-15 21:30:27 · 629 阅读 · 0 评论 -
mybatis批量插入list切割list算法
int totalNum = 9; int batchCommitNumber=10; int subListNum= totalNum/batchCommitNumber; List<Integer> collect = IntStream.range(0, 9).boxed().collect(Collectors.toList()); for (int j = 0; j < subListNum+1; j++) {...原创 2020-07-13 22:53:24 · 453 阅读 · 0 评论 -
mybatis源码安装
mybatis的源码下载:1.刚开始使用maven中的下载的mybatis-3.5.2-sources.jar这个jar包解压后导入到eclipse中竟然没有源代码查资料说需要mvn eclipse:eclipse执行,这个会报错2.从github下载对应版本的zip包import到eclipse中后,启动工程时报javassist和ognl相关类找不到,此时在mybatis工程pom.xml中将javassist和ognl的optional改为false即可。...原创 2020-05-11 12:28:49 · 196 阅读 · 0 评论 -
Mybatis的一级缓存设置put后remove又put
BaseExecutor的queryFromDatabase方法private List queryFromDatabase(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql) throws SQLExce...原创 2020-04-19 18:03:44 · 357 阅读 · 0 评论 -
mybatis的pagehelper分页缺点
pagehelper不好优化pagehelper数据量达到一定数量时limit分页时会特别慢,count(*)把数据库卡死数据量太大时,做组件将数量查出。原创 2020-04-16 19:20:24 · 9336 阅读 · 0 评论 -
mybatis 使用foreach时出现"The expression 'list' evaluated to a null
动态删除购物车中的商品错误的写法:<delete id="deleteCartByMultiGoodsId" parameterType="java.util.HashMap">delete from ecs_cart where user_id=#{userId}and goods_id in <foreach collection="list...原创 2019-11-19 19:25:34 · 158 阅读 · 0 评论 -
mybatis返回list<String>时resultType写String
查询出的结果可能有好多条记录,返回类型即是list。但resultType还是写成resultType="user"(user为集合list中的实体类),而不是写成resultType="java.util.List"mybatis返回list<String>时resultType写java.lang.String而不是java.util.List如果写成java.util...原创 2019-11-19 16:26:40 · 16216 阅读 · 0 评论 -
mybatis返回list<Integer>时resultType写Integer
查询出的结果可能有好多条记录,返回类型即是list。但resultType还是写成resultType="user"(user为集合list中的实体类),而不是写成resultType="java.util.List"mybatis返回list<Integer>时resultType写java.lang.Integer而不是java.util.List如果写成java.ut...原创 2019-02-28 16:12:06 · 13373 阅读 · 0 评论 -
mybatis PersistenceException unSupportedOperation null
我的application中出现这个是#{list.size}时出现的,解决办法是在java service层中取出这个listSize=list.size来然后装入对象中,在mapper.xml中#{listSize}取出集合长度原创 2019-02-24 12:12:18 · 263 阅读 · 0 评论 -
Mybatis insert exception argument mismatch
Mybatis insert时自增主键为BigInt类型的,自增后需要使用主键,resultType如果写成int类型,插入不成功并报错exception argument mismatch <!-- 插入一个商品 --> <insert id="insertProduct" parameterType="domain.model.ProductBean" >...原创 2019-01-15 15:46:02 · 333 阅读 · 0 评论 -
mybatis一对多及分页可能存在的问题即关联查询分页问题,嵌套的list中数量对不上
项目中遇到了一个小问题,在此记录下,方便以后代码复用并且能快速排查这个小问题。需求如下:评论和回复是一对多的关系,并且根据评论进行分页查询,至于回复数量不做限制,有多少就查多少。存在问题:由于两张表是用连接查询,所以对于同一条评论存在多条回复的情况,那么用sql查询出来的数量应该是由回复数量决定的。而映射到java集中的数量却是由评论来决定,多条回复只是作为评论的一个属性而已。所以在mys...原创 2018-12-19 20:18:01 · 7013 阅读 · 2 评论 -
mysql获取group by的总记录行数方法子查询 亲测
mysql获取group by的总记录行数方法原方法:1. group by 后分组的前十条,在页面展示:size=20SELECT column_name as count FROM mac_activity ma left join mac_ticket_channel mtc on ma.id=mtc.activity_id where ma.delete_flag=0 and mt...原创 2018-12-19 19:41:49 · 2626 阅读 · 0 评论 -
SpringBoot+Mybatis事务管理
一、使用场景 在使用事务管理前,有必要先了解下应用场景。如实际过程中一个购买操作包含多个执行过程:查询库存、下单、更新库存,实际操作时,由于高并发存在,可能到下单结束时,更新库存出错,那本次购买操作就是失败的,其下单结果应该被回滚。这种情况就需要引入事务控制,保证整个操作的有效性。 工作场景:两个患者账户之间转账,一个接口中操作,转出方扣钱,插入转出方流水;转入方加钱,插入转...转载 2018-11-22 17:13:51 · 262 阅读 · 0 评论 -
mybatis传入array
1.mapper.java中List<MacTicket> selectByPrimaryKeyList(String[] stringArray);mapper.xml中<select id="selectByPrimaryKeyList" parameterType="int" resultMap="BaseResultMap"><foreach ...原创 2018-06-20 21:44:27 · 7588 阅读 · 0 评论 -
idea中使用mybatis逆向生成文件配置
一. pom文件中添加插件<build> <finalName>zsxt</finalName> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybati...原创 2019-04-11 16:35:52 · 1660 阅读 · 0 评论 -
mybatis使用中的坑 test字符串匹配不上数字字符串
做查询遇到一个坑,想用字符串去判断是否等于一个数字字符串"1",没报错但匹配不上,写法如下<if test="taskIdType != null and taskIdType != '0' "> and task_id like CONCAT(CONCAT('TASK', #{taskIdType}), '%')</if>正确写法如下<if t...原创 2019-04-11 18:42:21 · 875 阅读 · 0 评论 -
mybatis group by The error occurred while setting parameters
group by查询后汇总行数 select count(*) from (select distinct e.id from e left join a on e.id=a.e_id where 1=1 and org_cd=#{orgCd}) childdistinct e.id 改为 count(distinct e.id)也可以画蛇添足,后来全部删掉手写一遍解决1.检查sql语句,...原创 2019-04-09 16:02:25 · 269 阅读 · 0 评论 -
MyBatis出错Result Maps collection does not contain value for java.lang.Long
Servlet.service() for servlet [SpringMVC] in context with path [/eyou] threw exception [Request processing failed; nested exception is org.apache.ibatis.builder.IncompleteElementException: Could no...原创 2019-04-12 18:07:13 · 545 阅读 · 0 评论 -
mybatis多线程查询数据库
定义task类public class ChargeCallableTask implements Callable<Object>{private String method;private Object parameter;public ChargeCallableTask(String method,Object parameter){this.method...原创 2019-04-21 17:10:09 · 4647 阅读 · 0 评论 -
mybatis模糊查询 bind标签
bind 标签可以使用 OGNL 表达式创建一个变量井将其绑定到上下文中。在前面的例子中,UserMapper.xml 有一个 selectByUser 方法,这个方法用到了 like 查询条件,部分代码如下 。user_name like concat ('%' ,#{userName},'%' )使用 concat 函数和%连接字符串,在 MySQL 中,这个函数支持多个参数,但在...原创 2019-06-15 11:47:40 · 1408 阅读 · 0 评论 -
mybatis中文网站
http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html原创 2019-06-15 11:52:14 · 488 阅读 · 0 评论 -
MyBatis的discriminator鉴别器的作用
https://blog.csdn.net/zhupengqq/article/details/78628138转载 2019-06-15 12:49:40 · 371 阅读 · 0 评论 -
MyBatis ResultMap去重操作,怎样操作
有时候用MyBatis查询结果集,将打印的sql语句放在数据库客户端执行,比如结果为10条,但是MyBatis返回的数据却只有4条,这是为什么呢?MyBatis的ResultMap默认是把id作为map的主键,当id相同时,不管其他字段相不相同,它都当作相同的记录。那当我们想要MyBatis不去重,怎么操作呢?在POJO定义中加入一个伪id作为一标识即可。如:在主表类(User.j...原创 2019-08-27 17:31:59 · 408 阅读 · 0 评论 -
mybatis使用易错点
1.<sql>片段中 if判断时同时判断null和空串<if test="statusCd !=null and statusCd !=''"></if>模糊查询<if test="name !=null and name !=''">and name like concat('%',#{name},'%')</if>判断原创 2018-06-30 12:28:32 · 478 阅读 · 0 评论