1. 程式人生 > >mybatis查詢記錄條數

mybatis查詢記錄條數

這幾天在學SSM框架,今天在SSM框架中根據某個條件查詢mysql資料庫中的記錄條數,碰到一些問題,記錄一下

User.xml

    <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
    // 驗證 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
     // 驗證是否重名: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();
	}
主要碰到的問題是,count查詢的記錄如果為null,int無法接收,因此用Integer過渡一下

UserMapper中函式引數傳值到sql中,用了@param