文档章节

MyBatis 动态SQL与SQL片段

muzi1994
 muzi1994
发布于 2017/02/14 10:14
字数 228
阅读 15
收藏 0

前言:在使用Mybatis中想将生成的sql片段插入到mappper.xml中的sqls

SQL片段引用方法一:将SQL片段当做参数,使用${}带入参数

DaoMapper:

int updateUserInfo(@Param("uuid2") String uuid2, @Param("updateStr") String updateStr);

mapper.xml

<update id="updateUserInfo" >

    update yxs_user_info set ${updateStr},update_date=now()

    where user_uuid = (select uuid from yxs_user_login_info where uuid2=#{uuid2})

</update>

参数uuid2值为ABC, updateStr值为  email = ”lhm1830**@163.com“,,最终MyBatis解析后的SQL为:

update yxs_user_info set  email = ”lhm18***@163.com“ ,update_date=now()   where user_uuid = (select uuid from yxs_user_login_info where uuid2="ABC")

注:

1. #{data}将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是ABC,那么解析成SQL时的值为order by "ABC"。

2. ${}将传入的数据直接显示生成在sql中。

3. #方式能够很大程度防止sql注入, $方式无法防止Sql注入。

4. 一般能用#的就别用$。

© 著作权归作者所有

共有 人打赏支持
muzi1994

muzi1994

粉丝 4
博文 112
码字总数 31619
作品 0
朝阳
Mybatis配置文件详解(4)

本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMapConfig配置文件详解 主要来配...

LeaveStyle
08/30
0
0
【MyBatis框架】mapper配置文件-关于动态sql

动态sql 1.什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 2.需求 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使...

Mysoft
2015/09/18
40
0
Mybatis3.4.x技术内幕(十七):Mybatis之动态Sql设计原本(上)

上一篇博文中,介绍了可复用的sql片段,通过<include>标签进行引入,而<include>标签内一般存放的是静态sql,其实,sql片段也是可以放置动态sql标签内容。 1. Mybatis支持的动态sql及基本用法...

祖大俊
2016/08/20
1K
2
MyBatis 之 动态SQL

MyBatis 提供使用 ognl 表达式动态生成 SQL的功能。 1. if 2. where where 可以自动处理掉第一个拼接条件里的 and <!-- 动态 sql 查询用户信息 --> <select id="findUserByDynamicSql" para...

pradosoul
2015/09/18
234
1
mybatis学习笔记(8)-动态sql

mybatis学习笔记(8)-动态sql 标签: mybatis [TOC] mybatis核心,对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 if判断 mapper.xml 测试结果 1.注释掉方法中的 输出...

brianway
2016/02/29
133
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaFX WebView概述,很强大,内置了类似Electron的功能

来自 Murali Billa JavaFX技术人员的主要成员 在本博客中,我们将了解JavaFX如何呈现网页及其主要的组件 - 即WebView JavaFX是: 用于创建和交付桌面应用程序的软件平台,以及可以在各种设备...

GuoMengyue
29分钟前
4
0
数据库监控系统小实现1

需求:通过java 去调取python 去目标数据库采集信息,然后插入到数据库,由前台UI显示出来,从而达到监控目的。 设计:通过java的Runtime.getRuntime().exec(args1)方法去调用python脚本,j...

hnairdb
32分钟前
1
0
spring boot logback-spring 配置 日志分文件

因为更规规范化,想将日志分文异常类型,分别存储起来,方便以后查询问题。 以下是 logback-spring.xml 配置: <?xml version="1.0" encoding="UTF-8"?><configuration scan="true"> ...

诺岚
33分钟前
3
0
OSChina 周三乱弹 —— 这下回去要被老婆挠死

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Passenger的单曲《Let Her Go》 《The Importance of Being Idle》-Noel Gallagher/It's a Cover Up 手机党少年们想听歌,请使...

小小编辑
52分钟前
808
19
RedHat已更改其开源许可规则

对于编程圈外的人来说,软件许可证似乎并不重要,但是,在开源领域,开源许可是非常重要的。 因此,领先的Linux公司Red Hat宣布了一件大事,所有新的由Red Hat发起的使用GNU通用公共许可证(...

linuxCool
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部