首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用马提斯按参数分组

如何利用马提斯按参数分组
EN

Stack Overflow用户
提问于 2015-01-08 02:51:48
回答 1查看 6.8K关注 0票数 2

救命..。我想使用mybatis3.2.3对多个参数进行分组,但是它并不能帮助work...please me.how --我可以得到我的answer.thanks。

这是地图绘制者。

代码语言:javascript
运行
复制
<select id="selectByGroup" resultMap="chartMap">                          
    select * from chart group by                                          
    <foreach collection="list" item="item" index="index" separator=",">   
        #{item}                                                           
    </foreach>                                                            
</select>    

主计长:

代码语言:javascript
运行
复制
String dims[] = dimension.split(",");

List<String> paraList = new ArrayList<String>();
for(String s : dims){
    if(!s.equals(""))
    paraList.add(s);
}

List<Chart> charts = chartDao.selectByMap(paraList);

相关的道方法:

代码语言:javascript
运行
复制
public List<Chart> selectByMap(Object obj) {
    List<Chart> chartList = null;
    System.out.println(obj);
    chartList = sqlSession.selectList("draw.selectByGroup",obj);
    return chartList;
}
EN

回答 1

Stack Overflow用户

发布于 2015-01-09 11:07:47

只需尝试将#{item}替换为${item}。

来自正式文档(http://mybatis.github.io/mybatis-3/sqlmap-xml.html):

字符串替换 默认情况下,使用#{}语法将导致MyBatis生成PreparedStatement属性,并根据PreparedStatement参数(例如?)安全地设置值。虽然这更安全、更快而且几乎总是首选的,但有时您只是想直接将未经修改的字符串注入到SQL语句中。例如,对于ORDER,您可以使用如下内容: 按${columnName}在这里订购,MyBatis不会修改或转义字符串。 注意,接受用户的输入并以这种方式将其提供给未修改的语句是不安全的。这会导致潜在的SQL注入攻击,因此您应该在这些字段中不允许用户输入,或者始终执行自己的转义和检查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27832190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档