編集者は、MyBatisが複数のパラメーターを通過する問題を解決するために、3つのソリューションを共有します。具体的な紹介は次のとおりです。
最初のソリューション
DAO層の機能的方法
パブリックユーザーselectuser(文字列名、文字列エリア);
対応するmapper.xml
<選択id = "selectuser" resultmap = "baseeresultmap"> select * from user_user_t where user_name =#{0}およびuser_area =#{1} </select>その中で、#{0}はDAOレイヤーの最初のパラメーターを表し、#{1}はDAOレイヤーの2番目のパラメーターを表し、より多くのパラメーターを一貫して追加できます。
2番目のソリューション
この方法では、MAPを使用して複数のパラメーターを渡します。
DAO層の関数方法
パブリックユーザーselectuser(Map Parammap);
対応するmapper.xml
<select id = "selectuser" resultmap = "baseeresultmap"> select * from user_user_t where user_name = {username、jdbctype = varchar}およびuser_area =#{userarea、jdbctype = varchar} </select>サービスレイヤーコール
private user xxxselectuser(){map parammap = new hashmap(); parammap.put( "username"、 "は特定のパラメーター値"); parammap.put( "userarea"、 "experning"); user user = xxx。 selectuser(parammap);}私は個人的には、この方法は十分に直感的ではないと思います。インターフェイスメソッドを確認した場合、パラメーターを渡すパラメーターを直接知ることはできません。
3番目のソリューション
DAO層の関数方法
public user selectuser(@param( "username")stringname、@param( "userarea")文字列領域);
対応するmapper.xml
<select id = "selectuser" resultmap = "baseeresultmap"> select * from user_user_t where user_name = {username、jdbctype = varchar}およびuser_area =#{userarea、jdbctype = varchar} </select>個人的には、この方法が優れていると思います。これにより、開発者はDAOレイヤーメソッドを確認したときにどのパラメーターを渡すかを知ることができます。それはより直感的です。個人的にこのソリューションをお勧めします。
上記は、編集者によって導入された複数のパラメーターを渡すMyBatisの解決策です。私はそれが誰にでも役立つことを願っています!