@Mybatis基础 @字段非空查询
*Mybatis传递参数作为字段名进行查询及非空判断
在做项目的过程中,有时需将前台获取的参数传递到后台,作为某个字段的名称进行数据查询,对Mybatis中的xml文件写法做了整理。
- 前台的参数作为where语句中的条件:
使用 #{ } 将参数包裹,此时查询对象(字段)是固定的,查询条件可动态改变,如:
select * from mysql_students where student_name = #{studentName}
其中:
mysql_students 是数据库中的表名称;
student_name 是该表中某个字段的名称;
studentName 是前台自定义的参数名称。
- 前台的参数作为字段的名称进行查询:
使用 ${ } 将参数包裹,此时查询条件是固定的,查询对象(字段)可动态改变,如:
select * from mysql_students where ${studentName} !=''
其中:
mysql_students 是数据库中的表名称;
studentName 是前台自定义的参数名称;
注意:
(1)如果需要查询该表中 学生名称 字段不为空的所有学生信息, 那么前台传进去的值应是
与表中学生名称字段对应的值;
(2)如果需要查询该表中 学生年龄 字段不为空的所有学生信息,那么前台传进去的值应该是
与表中学生年龄字段对应的值,其它亦如此;
(3)此处的重点的是,如果是正对不同的字段名称进行查询,那么需要用${ }包裹参数,而不是用#{ };
(4)如果是进行非空判断,xml文件中表达式为 !='' (等号后面一对单引号或者一对双引号均可)。