zoukankan      html  css  js  c++  java
  • 模糊查询三种解决方式

    模糊查询

    1.${}:原样输出,不能防止sql注入

     #{}:自动拼接引号

    2.传值时,直接传

      student.setStuName("%s%");

      stuName like #{stuName}

    3.bind参数

    srcorgmyymapperstudentMapper.xml

    通过bind将传入的stuName进行了处理(增加了%...%)

        <select id="queryStudentByNoWithONGL" parameterType="student" resultType="student">
            select * from student1
            <trim prefix="where" suffixOverrides="and">
    
                <bind name="_queryName" value="'%'+stuName+'%'" />
    
                <if test="_parameter.stuName != null and _parameter.stuName != '' ">
                    stuName like  #{_queryName} and
                </if>
                <if test="graName != null and graName != '' ">
                    graName like  '%${graName}%' and
                </if>
                <if test="stuAge != null and stuAge != '' ">
                    stuAge =  #{stuAge} and
                </if>
            </trim>
        </select>

    srcorgmyymapperStudentMapper.java

        List<Student> queryStudentByNoWithONGL(Student student);

    srcorgmyy estTest.java

            //Connection - SqlSession操作Mybatis
            //conf.xml->reader
            Reader reader = Resources.getResourceAsReader("conf.xml");
            //reader->sqlSession
    
            //可以通过build的第二参数 指定数据库环境
            SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader,"devOracle");
            SqlSession session = sessionFactory.openSession();
    
            StudentMapper studentMapper=session.getMapper(StudentMapper.class);
    
            //Student student=new Student("s",23,"b");
            Student student=new Student();
            student.setStuName("s");
            student.setStuAge(23);
            List<Student> students=studentMapper.queryStudentByNoWithONGL(student);
            System.out.println(students);
    
            session.close();
  • 相关阅读:
    Eclipse下载
    RTT之AT命令组件
    RTT之shell
    RTT之内存管理及异常中断
    单片机的图形UI
    RTT学习
    RTT学习之线程管理
    C++学习笔记:
    运放
    关于KEIL下的图形化显示和输出问题
  • 原文地址:https://www.cnblogs.com/mayouyou/p/13269657.html
Copyright © 2011-2022 走看看