zoukankan      html  css  js  c++  java
  • Mybatis sql动态查询(可以填参数也可不填)

    1.html

     <form action="datebaseServlet" method="post">
                            <input type="hidden" name="flag" value="1">
                            Seqname:<input type="text" name="seqname">
                            freeuse1:<input type="text" name="freeuse1">
                            <input type="submit">
                        </form>

    2.servlet

      String sqename = request.getParameter("seqname");
                String  freeuse1 = request.getParameter("freeuse1");
                Datebase datebase =new Datebase();
                if(sqename!=null){
                    datebase.setSeqname(sqename);
                }
                if(freeuse1!=null){
                    datebase.setFreeuse1(freeuse1);
                }
              List <Datebase> list=  service.selectDatebaseLike(datebase);

    3.service

     public List<Datebase> selectDatebaseLike(Datebase datebase) {
            DatebaseDAO dao = new DatebaseDAO();
            List<Datebase>  list  = dao.selectDatebaseLike(datebase);
    
            return list;
        }

    4.dao

     public List<Datebase> selectDatebaseLike(Datebase datebase){
            SqlSession session = InitialSqlSession.openSqlSession();
            DatebaseMapper  mapper = session.getMapper(DatebaseMapper.class);
            List<Datebase> l =  mapper.selectDatebaseLike(datebase);
            session.close();
            return l;
        }

    5.mapper

    @SelectProvider(type= DatebaseSqlProvider.class,method="selectDatebaseLike")
        List<Datebase> selectDatebaseLike(Datebase datebase);

    6.DatebaseSqlProvider

    public class DatebaseSqlProvider {
        public String selectDatebaseLike(Datebase datebase) {
            return new SQL(){{
    
             SELECT("*");
             FROM("tb001");
             WHERE("1=1");
                if(!datebase.getSeqname().equals(""))
                {
                    WHERE("tb001.seqname = #{seqname}");
                }
                if(!datebase.getFreeuse1().equals(""))
                {
                    WHERE("tb001.freeuse1 = #{freeuse1}");
                }
    
            }}.toString();
    
        }
        public String select() {
            return new SQL(){{
                SELECT("*");
                FROM("tb001");
                    WHERE("tb001.seqname = #{seqname}");
    
            }}.toString();
    
        }
    
    }

    WHERE1=1 使sql条件恒成立

  • 相关阅读:
    Django 初探--Django的开发服务器及创建数据库(笔记)
    Django初探--开发环境搭建(笔记)
    python文件处理--笔记
    python-property、docstring--笔记
    python之Lambda函数---笔记
    参数拆分-- 笔记
    python—带形状的词云图
    python—压缩文件
    python—dataframe用法
    python—mysql数据库读取表1获取name作为参数,传入访问表2获取age,结果存入excel
  • 原文地址:https://www.cnblogs.com/When6/p/13283172.html
Copyright © 2011-2022 走看看