mybatis 添加自定义sql语句

只愿长相守 提交于 2020-03-22 15:52:44

3 月,跳不动了?>>>

我一般使用mybatis-plus,但是在维护旧代码的时候发现使用的是xml这样的mybatis, 需要使用动态的sql语句,所以要自定义sql语句

1.xml里面设置,resultMap是自己定义的类对象,也可以使用map

<select id="selectQuestionForDownload" resultMap="getKnowledgeQuestionMap" parameterType="java.lang.String">
    ${_parameter}
</select>

2.mapper设置, 直接声明该接口即可

List<KnowledgeQuestion> selectQuestionForDownload(String sql);

3.调用的地方,自动驻入就不说明了,直接看调用的地方

StringBuilder builder = new StringBuilder();
String start = "select * from question_gray where ";
builder.append(start);
for(String str : params.keySet()){
    if(Constants.QUESTION_PARAMS.containsKey(str)){
        builder.append(Constants.QUESTION_PARAMS.get(str)).append("=").append(params.get(str)).append(" and ");
    }
}
builder.delete(builder.length()-5,builder.length());//去掉最后一个and
question = questionMapper.selectQuestionForDownload(builder.toString());

这就是mybatis使用自定义sql语句,写的粗糙,见谅。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!