- resultType&resultMapの使用条件
- テーブルのフィールドがクラスの属性と一致している場合、つまりクラスの属性がテーブルのフィールドに1対1で対応している場合は、resultTypeを使用します。それ以外の場合は、resultMapを使用します。
- 単純型、単一のPOJOオブジェクト、またはPOJOのリストを出力する場合は、resultMapを使用します。
- クエリの数を達成するためのコード
- インターフェイスのメソッド
/** * 查询user的个数 * @param vo * @return */ public int findUserCount(UserQueryVo vo);
- マッピングファイルの構成
<select id="findUserCount" parameterType="userQueryVo" resultType="int"> SELECT COUNT(*) FROM user WHERE sex = #{user.sex} </select>
- 実装
@Test public void test1(){ UserMapper userMapper = session.getMapper(UserMapper.class); //获取数据 //通过模型的包装类来查询用户 UserQueryVo query = new UserQueryVo(); User user = new User(); user.setSex("2"); query.setUser(user); int count = userMapper.findUserCount(query); System.out.println("女性的个数为:"+count); }
- テーブルによって照会された値がクラスの属性値に1対1で対応しなくなった場合は、resultMapを使用します。
- インターフェイスに対応するメソッドを記述し、マッピングファイルを構成し、対応するメソッドを実装することに加えて、戻りデータresultMapを設定する必要もあります。
- プロファイルコード
<resultMap id="userResultMap" type="com.Marsoft.model.User"> <id property="id" column="id_"></id> <result property="username" column="username_"></result> <result property="sex" column="sex_"></result> <result property="birthday" column="birthday_"></result> <result property="address" column="address_"></result> </resultMap> <select id="findUserByIdResultMap" parameterType="int" resultMap="userResultMap"> SELECT id id_, username username_, sex sex_, birthday birthday_, address address_ FROM USER WHERE id = #{id}; </select>
- resultMapタグのIDは、selectタグのresultMap属性の値です。ここでは、クエリはIDに基づいているため、テーブルの他の属性はresultタグに含まれています。
- typeの値は特定のエンティティクラスです
- 結果タグのプロパティの値は、エンティティクラスのプロパティに対応します
- インターフェイスのメソッド
/** * 查询的结果作为resultMap传出 * @param id * @return */ public User findUserByIdResultMap(int id);
- 実装
@Test public void test2(){ UserMapper userMapper = session.getMapper(UserMapper.class); //获取数据 //通过模型的包装类来查询用户 User user = userMapper.findUserByIdResultMap(1); System.out.println(user); }
- インターフェイスに対応するメソッドを記述し、マッピングファイルを構成し、対応するメソッドを実装することに加えて、戻りデータresultMapを設定する必要もあります。
mybatis出力マッピングresultType&resultMap
おすすめ
転載: blog.csdn.net/weixin_45566730/article/details/114638419
おすすめ
ランキング