mybatis添加自定义sql语句
我一般使用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语句,写的粗糙,见谅。
以上是 mybatis添加自定义sql语句 的全部内容, 来源链接: utcz.com/z/514619.html