mybatis常见问题
来源:互联网 发布:淘宝刷到单被骗咋追回 编辑:程序博客网 时间:2024/06/06 12:40
parameterType与parameterMap有什么区别? resultType与resultMap有什么区别?
resultType:可以把结果自动映射到相应的JAVA类中,但无法指定输出字段的类型,会对性能产生轻微的影响。
resultMap:可以预先定义resultMap元素,可以控制数据如何从结果集中取出,以及哪个属性匹配哪个字段。
parameterType属性值是JAVA类的全限定名,目的是限制输入参数的类型为指定的JAVA类,如果不指定,任何带有合适属性(get/set方法)的JAVA BEAN都可以作为输入参数。
parameterMap:预先定义parameterMap的属性值,用于有次序的参数匹配JDBC符号。
<resultMap type="com.csii.ibs.common.ECif" id="loadCifInfoResult"> <result property="id" column="CIFNO" /> <result property="cifSeq" column="CIFSEQ" /> <result property="name" column="CIFNAME" /> <result property="status" column="CIFSTATE" /> <result property="bankSeq" column="BANKSEQ" /> </resultMap> <select id="loadCifInfo" resultMap="loadCifInfoResult" parameterType="java.util.HashMap"> select a.CIFNO, a.CIFSEQ, a.CIFSTATE, a.BANKSEQ, a.BRANCHSEQ, from EBANKCIF a </select>
<resultMap type="java.util.HashMap" id="loadUserInfoResult"> <result property="CifSeq" column="CIFSEQ" /> <result property="UserSeq" column="USERSEQ" /> <result property="UserId" column="USERID" /> </resultMap> <select id="loadUserInfo" resultMap="loadUserInfoResult" parameterType="java.util.HashMap"> select a.CIFSEQ, a.USERSEQ, a.USERID from EUSER a </select>
自增主键:
<insert id="insert" parameterType="riskmCatalogDO" > INSERT INTO riskm_catalog( id, title) VALUES ( #id#, #title#) <selectKey keyProperty="id" resultType="java.lang.Integer" order="AFTER"> <!--oracle--> SELECT key_sequence.nextval() from dual <!--mysql--> SELECT last_insert_id() from dual </selectKey></insert>
#和$区别:
1. $中间的变量就是直接替换成值的,#会根据变量的类型来进行替换
比如articleTitle的类型是string, 值是"标题"的时候
$articleTitle$ = 标题
#articleTitle# = '标题'
2. $ 的作用实际上是字符串拼接 #用于变量替换
3. 对于一条简单的sql语句,例如:Select * from user where id=#id#,
Ibatis会把sql预编译为select * from user where id=?
$符号会把参数原样嵌入sql语句中而不进行预编译,这就使得有可能出现sql注入攻击。
0 0
- mybatis常见问题
- Mybatis: 常见问题
- mybatis常见问题
- mybatis常见问题
- Mybatis 常见问题
- mybatis常见问题
- Mybatis常见问题
- mybatis的常见问题
- mybatis 常见问题 FAQ
- MAVEN+SPRING+MYBATIS整合常见问题
- Mybatis基础: 常见问题与FAQ
- Mybatis基础: 常见问题与FAQ
- struts2+spring+mybatis入门教程七之常见问题
- Mybatis关联查询与常见问题解决
- 常见问题
- 常见问题
- 常见问题
- 常见问题
- mysql---逻辑和数据库设计及权限
- GitHub-入门
- [学习笔记-Android]自用签到工具(一)
- LeetCode Jump Game II
- 数据库第三范式
- mybatis常见问题
- mybatis动态sql
- 基于Python SimpleHTTPServer.py的修改脚本:HTTP文件服务器,修正中文目录列表,支持视频文件在线播放
- mybatis延迟加载
- mybatis缓存机制
- 如何实践设计原则
- 01_spring基本命名空间及各种类型注入方式
- 每秒千万网络包的线速 SYN/DNS flooding
- [学习笔记-Android]自用签到工具(二)