[SSM]Mapper.xml的sql语句完整版.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[SSM]Mapper.xml的sql语句 ⼀、增删改查 1. 增 :给数据库增加⼀个⽤户 insert id=addUser parameterType=User insert into user (id,name,pwd values (#{id},#{name},#{pwd} /insert 2. 删 :根据id删除⼀个⽤户 delete id=deleteUser parameterType=int delete from user where id = #{id} /delete 3. 改 :修改⽤户的信息 update id=updateUser parameterType=User update user set name=#{name},pwd=#{pwd} where id = #{id} /update 4. 查 :根据id查询⽤户 select id=selectUserById resultType=User select * from user where id = #{id} /select ⼆、参数的传递 1. 直接在 法中传递参数 在接⼝ 法的参数前加 @Param属性,Sql语句编写的时候,直接取@Param中设置的值即可,不需要单独设置参数类型。接⼝所有的 普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上 ! User selectUserById(@Param(id Int id ; User selectUserByNP(@Param(username String username,@Param(pwd String pwd ; 如果参数是poj o类,那么就不⽤加@Param属性 int addUser(User user ; 参数直接传递时,对应的mapper.xml语句和上⾯的⼀样 2. 使⽤万能的Map 如果参数过多,我们可以考虑直接使⽤Map实现,如果参数⽐较少,直接传递参数即可 User selectUserByNP2(MapString,Object map ; 使⽤map传参时,对应的mapper.xml需要对应修改 : select id=selectUserByNP2 parameterType=map resultType=User select * from user where name = #{username} and pwd = #{pwd} /select 三、⼤于⼩于和xml标签解析冲突的写法 1. 使⽤转义字符 字字符符 == == ’’ 转义字符 gt; gt;= lt; lt;= quot; apos; amp; where create_date_time = #{startTime} //改为 where create_date_time gt ;= #{startTime} 2. 将sql语句写在 ![CDATA[...]] 中, 其中的特殊符号不进⾏解析. where create_date_time ![CDATA[ = ]] #{startTime} 四、#{}和${}的区别 #{}是预编译处理,${}是字符串替换。 Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调⽤ PreparedStatement 的set 法来赋值 ; Mybatis 在处理${}时,就是把${}替换成变量的值。 使⽤#{}可以有效的防⽌ SQL 注⼊,提⾼系统安全性 在某些特殊场合下只能⽤${} ,不能⽤#{}。例如 :在使⽤排序时ORDER BY ${id} ,如果使⽤#{id} ,则会被解析成ORDER BY

文档评论(0)

183****1225 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档