1.映射配置文件中#与$的区别,总结如下:
(1)
#是把传入的数据当作字符串,如# number,#传入的是20(数字),则生成的sql语句是这样,order by "20",这当然会报错;
(2)
$传入的数据直接生成在sql里,如# number ,#传入的是20,则sql语句生成是这样,orderby 20,这就对了;
(3) #方式能够很大程度防止sql注入;
(4) $方式无法防止sql注入;
(5) $方式一般用于传入数据库对象.例如传入表名;
所以,一般能用#的就别用$。
2. <![CDATA[ ]]> 标记避免Sql中与xml规范相冲突的字符对xml映射文件的合法性造成影响
<![CDATA[price_from >= #{price}]]>
3.Sql标签:
<sql id=”userColumns”>
id,username,password
</sql>
这个元素可以被用来定义可重用的SQL代码段,可以包含在其他语句中。
举例:
这个SQL片段可以被包含在其他语句中,例如:
<select id=”selectUsers” parameterType=”int” resultType=”hashmap”>
select <include refid=”userColumns”/>
from some_table
where id = #{id}
</select>
4.selectKey的使用
在insert语句中在Oracle经常使用序列、在MySQL中使用函数来自动生成插入表的主键,而且需要方法能返回这个生成主键。
使用myBatis的selectKey标签可以实现这个效果。
keyProperty :
selectKey 语句生成结果需要设置的属性。即返回给对象的值
resultType : 生成结果类型,MyBatis 允许使用基本的数据类型,包括String 、int类型。
order 1:BEFORE,会先选择主键,然后设置keyProperty,再执行insert语句;
2:AFTER,就先运行insert 语句再运行selectKey 语句。 取值:BEFORE,AFTER
statementType:MyBatis 支持STATEMENT,PREPARED和CALLABLE 的语句形式, 对应Statement ,PreparedStatement 和CallableStatement 响应。
分享到:
相关推荐
mybatis
MYBatis总结.docx MYBatis总结.docx
mybatis总结,可学习
spring和mybatis总结
MyBatis总结!!!!!
【狂神说】mybatis学习总结笔记(全)PDF格式文档 MyBatis.pdf
Spring + SpringMVC + Mybatis总结,同步博客中的pdf文档
该文件时我对MyBatis的一些简单的总结,希望能对大家有用,有不合理的地方希望大家多多指正,感谢大家的支持
学习Mybatsi基础,实现的步骤 ,0基础入门案列,其他也没有过多的了,这是入门的第一天做的笔记,有问题大家可以指出。
MyBatis基本使用总结 Mybatis 的核心配置文件于实体类的映射文件,mapper 代理动态代理的调用方法。
分享b站up主狂神的笔记 希望对大家的学习有帮助 对大家有帮助的 点个关注再好不过了 谢谢大家 资源如果下载不了 可以私聊我
MyBatis SpringMVC 整合总结
Mybatis总结,思维导图,包含多种文件格式 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 ...
【狂神说】mybatis学习总结后源码下载(全) mybatis-study.zip
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一...
spring,mybatis
在Mybatis中,每一个、、、标签,都会被解析为一个MappedStatement对象。 Dao接口里的方法,是不能重载的,因为Mybatis是全限名+方法名的保存和寻找策略。 Dao接口的工作原理是JDK动态代理,Mybatis运行时会使用...