数据库
首页 > 数据库> > Jfinal 的sql语句中 如何使用if判断属性是否为空

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