• 模糊查询三种解决方式


    模糊查询

    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();
  • 相关阅读:
    记录-tomcat启动项目配置
    记录 -- js浏览器窗口关闭调用ajax
    远程桌面时出现身份验证错误,要求的函数不受支持
    记录-马斯洛需求层次理论模型
    记录-powerDesigner 导入sql文件注释问题
    记录-Java md5加密
    记录--js 剪贴板操作 (转载)
    如何判定一台计算机的唯一性
    GO_OOP简单摘要
    后台执行命令
  • 原文地址:https://www.cnblogs.com/mayouyou/p/13269657.html
Copyright © 2020-2023  润新知