1.先复习一下user表的查询SQL用mybatis怎么写
<select id="findAllUser" resultType="User">
select user_id,user_name,age,user_pwd,email from user
</select>
这个xml文件中是mybatis的配置文件,
功能是查询user表中的全部用户数据
可以查询用户的user_id,user_name,age,user_pwd,email信息
但是如果要加上筛选,比如用年龄(age)来筛选,并且用age和user_id来排序,并且可以按照升序还是降序来排序
这就需要用到where标签来筛选了
如果用age字段来筛选可以看如下的代码
<select id="findUserByAge" resultType="User">
select user_id,user_name,age,user_pwd,email from user
<where>
age = #{age}
</where>
</select>
如果User对象中的age有值,就会自动传入age值,从而用where标签根据age字段来筛选出想要的数据
本例中还可以使用trim标签来达到一样的效果,where是trim的一种特殊情况
看如下代码:
<select id="findUserByAge" resultType="User">
select user_id,user_name,age,user_pwd,email from user
<trim prefix="where" prefixOverrides="and">
<if test="age!=null and age!=''">
and age=#{age}
</if>
<if test="lastName!=null&&lastName!=""">
and last_name=#{lastName}
</if>
</trim>
</select>
prefixOverrides 是省略where 前的and,如果多个字段拼接,第一个age没有值and也会使它省略
&&是and的另外一种写法感兴趣的可以去看w3cschool这个网站
中的HTML基础教程中的HTML实体
传送门:https://www.w3school.com.cn/html/html_entities.asp
上面的查询语句还有另外一种写法:
<select id="findUserByAge" resultType="User">
select user_id,user_name,age,user_pwd,email from user
<trim prefix=