在做项目时总会遇到"根据id或者名字进行查找",在每次做完项目时,都会上网查找一下xml文件中的书写格式,做完一个,在做下一个时,就会忘记,还要上网查,做IT啥都好就是忘性大以及掉头发。
不在多说,开始做记录:
//按照手机号或者会员卡号进行多种方式的查询,解决方法:
//比如按照id或者名字进行多种方式的查询:
//在xml文件中书写代码:
<!--根据id或者name进行查询信息-->
<select id="selectAllByIdAndTel" parameterType="com.kude.pojo.User" resultType="com.kude.pojo.User">
<--最好不要像我这样写select * 最好写出查询具体字段-->
select *
from user
<where>
<--注意这个if test中的userId和name,这两个字段是user实体类中的变量,and 后面的User_id和Name是数据库User表中的字段-->
<if test="userId!= null and userId!=''">
and User_id=#{userId}
</if>
<if test="name!= null and name!=''">
and Name LIKE '%' #{name} '%'
</if>
</where>
</select>
//mapper层也就是Dao层
List<User> selectAllByIdAndTel(User user);
Service层以及ServiceImpl实现层
//Servcie层
List<User> selectAllByIdAndTel(User user);
// ServiceImpl实现层
@Override
public List<User> selectAllByIdAndTel(User user) {
List<User> users=userMapper.selectAllByIdAndTel(user);
return users;
}
Controlle控制器
@RequestMapping("/test/selectAllByIdAndTel.do")
@ResponseBody
public List<User> selectAllByIdAndTel(User user){
return testService.selectAllByIdAndTel(user);
}
//进行测试的接口:
//http://localhost:8080/user/test/selectAllByIdAndTel.do?name=张三
//或者测试
//http://localhost:8080/user/test/selectAllByIdAndTel.do?userId=1
//特别注意接口中的name和userId也是属于User实体类中的变量。