這幾天在學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