mybatis查詢記錄條數
阿新 • • 發佈:2019-02-09
這幾天在學SSM框架,今天在SSM框架中根據某個條件查詢mysql資料庫中的記錄條數,碰到一些問題,記錄一下
User.xml
UserMapper.java<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>
// 驗證 nickname 是否重複
public Integer nickNameValidate(@Param("value")String value);
// 驗證 username 是否重複
// 防止查詢不到值為空,用Integer
public Integer userNameValidate(@Param("value")String value);
UserService.java
int nameValidate(String name,String value);
UserServiceImpl.java
主要碰到的問題是,count查詢的記錄如果為null,int無法接收,因此用Integer過渡一下// 驗證是否重名:userName、nickName,返回該名字數量,0 沒重名,1重名 public 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(); }
UserMapper中函式引數傳值到sql中,用了@param