这几天在学SSM框架,今天在SSM框架中根据某个条件查询MySQL数据库中的记录条数,碰到一些问题,记录一下
User.xml
1
2
3
4
5
6
|
<select id= "userNameValidate" parameterType= "String" resultType= "Integer" >
select count(*) from user where username like #{value}
</select>
<select id= "nickNameValidate" parameterType= "String" resultType= "Integer" >
select count(*) from user where nickname like #{value}
</select>
|
UserMapper.java
1
2
3
4
5
|
// 验证 nickname 是否重复
public Integer nickNameValidate( @Param ( "value" )String value);
// 验证 username 是否重复
// 防止查询不到值为空,用Integer
public Integer userNameValidate( @Param ( "value" )String value);
|
UserService.java
1
|
int nameValidate(String name,String value);
|
UserServiceImpl.java
1
2
3
4
5
6
7
8
9
10
11
|
// 验证是否重名:userName、nickName,返回该名字数量,0 没重名,1重名
ublic int nameValidate(String name,String value) {
Integer Validate ;
System.out.println( "impl:" +name + "===" +value);
if (name.equals( "userName" ))
Validate = userMapper.userNameValidate(value);
else
Validate = userMapper.nickNameValidate(value);
if (Validate == null )
return 0 ;
return Validate.intValue();
|
主要碰到的问题是,count查询的记录如果为null,int无法接收,因此用Integer过渡一下
UserMapper中函数参数传值到sql中,用了@param
总结
以上所述是小编给大家介绍的Mybatis查询记录条数的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/qq_20367813/article/details/77340364