Jfinal 的sql语句中 如何使用if判断属性是否为空
作者:互联网
1. controller 层代码:
public void questionInfo(){
// 获取 产品线id 、 技术点id, 进行查询
Long productLineId = this.getParaToLong("productLineId");
Integer level = this.getParaToInt("level");
String questionTypes = this.getPara("questionTypes");
String difficulty = this.getPara("difficulty");
Kv cond = Kv.create().set("productLineId",productLineId).set("questionTypes",questionTypes).set("difficulty",difficulty);
String sql = null;
List<TopicInformation> topicInformationList = new ArrayList<TopicInformation>();
if(level == 1){
SqlPara sqlPara = Db.getSqlPara("teacher.testFindByProduct", cond);
topicInformationList = TopicInformation.dao.find(sqlPara);
}else if(level == 2){
Long technologyId = this.getParaToLong("technologyId");
sql = Db.getSql("teacher.testFindByProductAndTechnology");
topicInformationList = TopicInformation.dao.find(sql,productLineId,technologyId);
}
}
2.sql语句
#sql("testFindByProduct")
select * from topic_information where productLineId = #para(productLineId) and flag = 1
#if(questionTypes)
and questionTypes = #para(questionTypes)
#end
#if(difficulty)
and difficulty = #para(difficulty)
#end
#end
在jfinal3.2中 使用Kv.create().set().....方法,设置属性, 然后使用 SqlPara 获取你想要的SQL语句,
在然后使用 实体类.dao.find(sql), 就可以查询数据库,得到自己想要的数据了。
看了一天半jfinal, 就开始写代码了, 如有错误,请您多多指点。
标签:set,productLineId,level,difficulty,为空,sql,Jfinal,questionTypes 来源: https://blog.csdn.net/ZPJeck/article/details/88315084