文档章节

MyBatis错误收集

有资本再款
 有资本再款
发布于 2014/06/03 16:10
字数 350
阅读 46
收藏 0

1、在用动态SQL老一个There is no getter for property named 'id' in 'class java.lang.Integer错误

<select id="queryUser" parameterType="Integer" resultType="com.accp.TestMybatis.dto.User">
 select * from scott.users
 <if test="id!=null"> 
   where id = #{id}
 </if>
</select>
<!--但是把if去掉如:-->
<select id="queryUser" parameterType="Integer" resultType="com.accp.TestMybatis.dto.User">
   select * from scott.users where id = #{id}
</select>
<!--又正常,非常蛋疼。-->

解决方法:

将<if test="id!=null">改为
<if test="_parameter!=null">  
    where id = #{_parameter}
</if>

问题来源:http://bbs.csdn.net/topics/370173955?page=1

2、在mybatis中使用select top #{top}  *  from tb 语句出现“@P0' 附近有语法错误"。

问题分析:

   语句编译后#{}是预处理状态,在Java中对数据库查询时经常使用“Select Top ? * From 表名 Where 列名 = 
 ?”的SQL语句,此时的问号是PreparedStatement预编译对象的参数占位符,需要使用setXX()系列方法对其赋值后再执行。但是,Top后面是不允许使用问号占位符的,此处的错误就是由此引起的。

解决方法:

   语句修改为:select top ${top}  *  from tb 

问题来源:http://ekekyn.blog.163.com/blog/static/313887320122159632536/

3、使用SQL批量添加数据时,出现The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provided in this RPC request. The maximum is 2100.   

SQL语句:

INSERT INTO [TABLE]([FIELD],[FIELD]...)VALUES([VALUE],[VALUE]...),([VALUE],[VALUE]...)...

解决方法:

public void batchInsert(List<Course> courses) {
   for(int i = 0,s = 0; i < courses.size()/100;i++,s+=100){ 
	sqlSessionTemplate.insert("com.netDragon.domain.Course.batchInsert", courses.subList(s, s+100));
   }
   if(courses.size() - courses.size()/100*100 > 0)
	sqlSessionTemplate.insert("com.netDragon.domain.Course.batchInsert", courses.subList(courses.size()/100*100,courses.size()));
   }




© 著作权归作者所有

共有 人打赏支持
有资本再款
粉丝 5
博文 99
码字总数 16312
作品 0
黄冈
私信 提问
mybatis入门教程之错误收集

mybatis错误一: 解决方法: mybatis 错误二: 解决方法: mybatis错误三: 解决方法: mybatis 错误四: 解决方法: mybatis 错误五: 解决方法: mybatis 错误六: mybatis 错误七: java.lang.Unsup...

残风vs逝梦
2014/06/09
0
2
Spring Jdbc 泛型使用

其实一直以来 我使用了 很多hibernate mybatis 都挺简单,但是性能 方面 一直感觉一般般,个人偏向使用原生的jdbc 其实写起来 也挺简单的,当能力跨越了这一个层次的时候 ,这些mybatis hib...

zhuyuping
2016/04/11
195
1
Mybatis-Plus 2.1-gamma 发布

Mybatis-Plus是一款 mybatis 动态SQL 自动注入 mybatis增删改查 crud 操作中间件。启动加载 XML 配置时注入 mybatis动态sql 操作,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入非...

青苗
2017/06/29
1K
7
使用Spring Profile和Mybatis进行多个数据源(H2和Mysql)的切换

最近在做WebMagic的后台,遇到一个问题:后台用到了数据库,本来理想情况下是用Mysql,但是为了做到开箱即用,也整合了一个嵌入式数据库H2。这里面就有个问题了,如何用一套代码,提供对Mys...

黄亿华
2014/03/20
0
3
Activiti 5.18 的Mybatis版本问题

试用了Activiti近期推出的5.18版本,按照User Guide初始化了工程,为简单起见使用了嵌入式的H2数据库。 增加了单元测试: @Testpublic void testDeployAndRun() {repositoryService.createD...

丽天
2015/09/08
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

如何在Angular中使用better-scroll插件

由于需要在一个固定的的高度做无限滚动,本来css的overflow-y也可以完成的,奈何安卓不是很流畅,还很生硬,就是用了第三方库better-scroll,配合angular的ng-content。angular的ng-content和...

前端攻城老湿
6分钟前
1
0
Js中apply和Math.max()函数的问题及区别

这篇文章主要介绍了js中apply和Math.max()函数的问题,本文给大家带来两种答案,每一种答案给大家介绍的非常详细,在文章底部给大家提到了js中Math.max.apply和Math.max的区别,写的十分的全...

前端攻城小牛
6分钟前
1
0
解决 SpringBoot 不继承父starter-parent打包不包含依赖的问题

由于项目需要继承自己平台的父 parent , 有的模块是纯 api ,不能有任何依赖, 所以父 parent 不能直接引入 springboot, 单独给非 boot 项目排除依赖的话又特别的麻烦, 且不好把控。 记得刚接触...

stys35
8分钟前
0
0
vuex进阶知识点巩固

我们先回忆一下上一篇的代码 computed:{ getName(){ return this.$store.state.name }} 这里假设现在逻辑有变,我们最终期望得到的数据(getName),是基于 this.$store.state.na...

嫣然丫丫丫
23分钟前
1
0
Python出现安全策略问题的解决方法

Python运行期间出现如下错误 import: attempt to perform an operation not allowed by the security policy `PS' @ error/constitute.c/IsCoderAuthorized/408. 解决方法:在脚本的开头添加......

大糊涂
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部