自動マップレベルMyBatisのフレームワーク-resultMap要素

このresultMap自動マップレベル:3つのタイプに分け:FULL NONEはPARTIAL

デフォルトの属性がある場合:PARTIAL:自動マッチングを有効にするには、自動的にデータベースのフィールド名とエンティティクラスの属性名と一致しますが、一致させることができないではない場合は、同意した場合、一致することができるようになります

MyBatisの-config.xmlの

 

 UserMapper.xml

 

 UserMapper.java

 

テストメソッドの記述:

1  @Test
 2      公共 ボイドTEST9(){
 3          地図<文字列、文字列>マップ= 新しい HashMapの<文字列、文字列> ();
4          map.put( "USERNAME1"、 "赵" )。
5          map.put( "userRole1"、 "3" )。
6      
7          SQLSESSION SQLSESSION = NULL ;
8          java.util.Listに<ユーザー> userList2 = 新規のArrayList <ユーザー> ();
9          トライ{
 10              SQLSESSION = MyBatisUtil.createSqlSession()。
                          // userList2 = sqlSession.selectList( "cn.smbms.dao.user.UserMapper.getUserListByUserName"、userNameString);
 13である             // 呼び出しインタフェース方法マッパ
14              userList2 = sqlSession.getMapper(UserMapper クラス).getUserListByUserName5(マップ) ;
 15              int型のサイズ= userList2.size();
 16              mlogger.info( "レコードの数を取得する:" + サイズ);
 17  
18れる          } キャッチ(例外E){
 19              // TODO:例外処理
20はである          } 最後に{
 21であります             // 最後に、我々は注意を払う必要があります:セッションを閉じる
22             ; MyBatisUtil.closeSqlSession(SQLSESSION)
 23は、 
24          }
 25          のための{(userList2ユーザuser2)
 26である              "+ user2.getUserName()+:mlogger.info( "ユーザ名" 、 + user2.getUserPassword()+":パスワード" 、 ユーザーの役割: "+ user2.getUserRoleName()+"アドレス:「+ user2.getAddress());
 27          }
 28  
29      }

結果:

1 [DEBUG] 2019年11月4日22:27:39810 cn.smbms.dao.user.UserMapper.getUserListByUserName5 - ==>準備:。、smbms_role R smbms_userから*、r.roleNameを選択CONCAT様名( '%'、?、 '%')とUSERROLE =?そしてa.userRole = r.id 
 2 [デバッグ] 2019年11月4日22:27:39990 cn.smbms.dao.user.UserMapper.getUserListByUserName5 - ==>パラメータ:赵(文字列)、3 (文字列)
 3 [ INFO] 2019年11月4日22:27:40099 cn.smbms.dao.test.UserMapperTest -获取到的记录数是:1
 4 [DEBUG] 2019年11月4日22:27:40099 org.apache.ibatis。 transaction.jdbc.JdbcTransaction -へのリセット自動コミット真のJDBC接続の[com.mysql.jdbc.JDBC4Connection@3caa4b]
 5[デバッグ] 2019年11月4日22である:27:40099 org.apache.ibatis.transaction.jdbc.JdbcTransaction - JDBC接続[com.mysql.jdbc.JDBC4Connection@3caa4b]を閉じる
 6。 [DEBUG] 2019年11月4日22です。 27:40099 org.apache.ibatis.datasource.pooled.PooledDataSource -返さコネクション3975755 プールへ。
 7 [INFO] 2019年11月4日22:27:40099 cn.smbms.dao.test.UserMapperTest -ユーザ名:趙ヤンパスワード:0000000、ユーザーの役割:一般的なスタッフアドレス:海淀区、北京Huilongguanコミュニティの構築10

あなたが自動マッチングをしたくない場合は、単に設定autoMappingBehavior NONE属性値は、自動マッチング機能オフスイッチを入れます

MyBatisの-config.xmlの

 

UserMapper.xml

 

 UserMapper.java

 

 テストメソッドの記述:

1  @Test
 2      公共 ボイドTEST9(){
 3          地図<文字列、文字列>マップ= 新しい HashMapの<文字列、文字列> ();
4          map.put( "USERNAME1"、 "赵" )。
5          map.put( "userRole1"、 "3" )。
6      
7          SQLSESSION SQLSESSION = NULL ;
8          java.util.Listに<ユーザー> userList2 = 新規のArrayList <ユーザー> ();
9          トライ{
 10              SQLSESSION = MyBatisUtil.createSqlSession()。
                          // userList2 = sqlSession.selectList( "cn.smbms.dao.user.UserMapper.getUserListByUserName"、userNameString);
 13である             // 呼び出しインタフェース方法マッパ
14              userList2 = sqlSession.getMapper(UserMapper クラス).getUserListByUserName5(マップ) ;
 15              int型のサイズ= userList2.size();
 16              mlogger.info( "レコードの数を取得する:" + サイズ);
 17  
18れる          } キャッチ(例外E){
 19              // TODO:例外処理
20はである          } 最後に{
 21であります             // 最後に、我々は注意を払う必要があります:セッションを閉じる
22             ; MyBatisUtil.closeSqlSession(SQLSESSION)
 23は、 
24          }
 25          のための{(userList2ユーザuser2)
 26である              "+ user2.getUserName()+:mlogger.info( "ユーザ名" 、 + user2.getUserPassword()+":パスワード" 、 ユーザーの役割: "+ user2.getUserRoleName()+"アドレス:「+ user2.getAddress());
 27          }
 28  
29      }

結果:

1 [DEBUG] 2019年11月4日22:36:38393 cn.smbms.dao.user.UserMapper.getUserListByUserName5 - ==>準備:。、smbms_role R smbms_userから*、r.roleNameを選択CONCAT様名( '%'、?、 '%')とUSERROLE =?そしてa.userRole = r.id 
 2 [デバッグ] 2019年11月4日22:36:38623 cn.smbms.dao.user.UserMapper.getUserListByUserName5 - ==>パラメータ:赵(文字列)、3 (文字列)
 3 [ INFO] 2019年11月4日22:36:38742 cn.smbms.dao.test.UserMapperTest -获取到的记录数是:1
 4 [DEBUG] 2019年11月4日22:36:38742 org.apache.ibatis。 transaction.jdbc.JdbcTransaction -へのリセット自動コミット真のJDBC接続の[com.mysql.jdbc.JDBC4Connection@ed0220c]
 5[デバッグ] 2019年11月4日22である:36:38742 org.apache.ibatis.transaction.jdbc.JdbcTransaction - JDBC接続[com.mysql.jdbc.JDBC4Connection@ed0220c]を閉じる
 6。 [DEBUG] 2019年11月4日22です。 36:38742 org.apache.ibatis.datasource.pooled.PooledDataSource -返さ248 521 228接続プールに。
 7。 [INFO] 2019年11月4日22である:36:38752 cn.smbms.dao.test.UserMapperTest -名:趙ヤンパスワード:ヌル、ユーザーの役割:一般的なスタッフアドレス:ヌル

 

 

 

おすすめ

転載: www.cnblogs.com/dongyaotou/p/11795502.html