MyBatis记录
2015-06-15 20:21
246 查看
1. java.sql.SQLException: 无效的列索引
出现该异常的一种情况如下:...and aduit.proj_rid = '#{projRid}'projRid左右多加了单引号,而只致使查询报错。
2. 使用${param}报错
例子如下:<select id="getNextIndustryLevel" parameterType="string" resultType="java.util.HashMap"> select * from ppp_t_industry where code like '${code}__' </select>
Dao应按照如下方式处理:
import org.apache.ibatis.annotations.Param; List<Map<String, Object>> getNextIndustryLevel(@Param(value="code")String code);
3. like防止sql注入
#{xxx},使用的是PreparedStatement,会有类型转换,所以比较安全;${xxx},使用字符串拼接,可以SQL注入;
like查询使用$时可能有注入风险,正确写法如下:
Mysql: select * from t_user where name like concat('%', #{name}, '%')
Oracle: select * from t_user where name like '%' || #{name} || '%'
SQLServer: select * from t_user where name like '%' + #{name} + '%'
4. mysql中返回自增主键
<insert id="saveProcureArrivalDetail" parameterType="com.xxx.vo.ProcureArrivalDetail" useGeneratedKeys="true" keyProperty="id" > insert into t_procuremanage_arrival_detail (arrival_id, xxx, pickup_date) values (#{arrivalId}, xxx, #{pickupDate}) </insert>返回后的id值会赋值到parameterType中的对象里。
相关文章推荐
- 由Contains开始的
- leetcode--ConstructBinaryTreefromInorderandPostorderTraversal
- svn客户端命令操作(二)
- 找内存泄露入的坑
- 关于部分Android手机安装apk,无法获取正常的logo
- 开发笔记
- Untiy Shader - 纹理贴图滚动
- python网络编程学习笔记(9):数据库客户端
- LINUX的零散知识
- 从输入网址到显示网页的全过程分析
- shiro权限项目中的简单应用
- Java for LeetCode 226 Invert Binary Tree
- leetcode--ConvertSortedArraytoBinarySearchTree
- 天气预报---网络加载最新天气信息,截取JSON文件
- Hopcroft-Carp算法模板【二分图匹配】
- poj 3259 Wormholes (BELLman—FOrd算法)(邻接矩阵表示)
- leetcode 25:Reverse Nodes in k-Group
- css兼容问题
- unity3D 音频播放
- OWIN轻量型框架介绍