文档章节

MyBatis动态传入表名,字段名参数的解决办法

啊哈关关
 啊哈关关
发布于 2017/09/07 21:03
字数 110
阅读 23
收藏 0

1.添加属性statementType="STATEMENT"

2.且sql中的变量用${params},而不是#{params},如果是字符串类型的数据要手动加上引号

<select id="findBy" resultMap="userResultMap" parameterType="HashMap" statementType="STATEMENT">
        SELECT `id`,`name`,`email`,`mobile`
         FROM `${tableName}`
        <trim prefixOverrides="and" prefix="WHERE">
            <if test="id != null">
                and `id` = ${id}
            </if>
            <if test="name != null">
                and `name` = '${name}'
            </if>
            <if test="email != null">
                and `email` = '${email}'
            </if>
            <if test="mobile != null">
                and `mobile` = '${mobile}'
            </if>
           
        </trim>
    </select>

 

© 著作权归作者所有

共有 人打赏支持
啊哈关关
粉丝 7
博文 152
码字总数 72519
作品 0
深圳
程序员
加载中

评论(1)

wangkang80
wangkang80
尽量不要这样写,会有sql注入的风险
MyBatis体系大纲

1.MyBatis优势 2.MyBatis总体流程 3.MyBatis功能架构 4.MyBatis框架架构 5.MyBatis动态SQL语句 5.1.MyBatis动态传入表名,字段名参数 要实现动态传入表名、列名,需要做如下修改 添加属性sta...

微尘鉴
2015/09/17
72
0
Mybatis动态构建Sql(无实体类)

先简单说下Mybatis的动态sql,这不是今天的重点。 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 例如,sql语句where条件中,需要一些安全判断,例如...

perfectspr
2014/11/05
0
2
Mybatis参数处理

1、单个参数 mybatis不做特殊处理,只需要用 #{参数名} 取出参数值就可以了 。 注:事实上这里#{id},参数名id可以写任何值,因为只有传了一个参数。 2、多个参数 mybatis会做特殊处理。 多...

小衰哥有点帅
02/09
8
0
MyBatis 实践 -动态SQL/关联查询

标签: Java与存储 动态SQL 动态SQL提供了对SQL语句的灵活操作,通过表达式进行判断,对SQL进行拼接/组装. if 对查询条件进行判断,如果输入参数不为空才进行查询条件的拼接. mapper 会自动处理...

hanqing280441589
2016/02/28
0
0
MyBaits使用小结

Mybatis用like进行模糊查询的时候,配置与所用的数据库有关系,总结了下,具体如下: 1、MySQL :LIKE CONCAT('%',#{empname},'%' ) 或者 LIKE CONCAT('%',‘${empname}’,'%' ) 2、oracle:...

imzdx
2016/08/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取余运算

python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|。 经过测试可发现,python3.6中取余运算得到的 r 是正整数;...

colinux
13分钟前
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部