MyBatisので、私たちはしばしば次のような使用します。
- 結果を返します。
User selectOne(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="cn.lyn4ever.entity.User">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>
- (それが唯一の制御クエリであるという点で、実際のトップ)複数の結果を返します。
List<User> selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="cn.lyn4ever.entity.User">
select id,username,telphone from user
</select>
ちょうどの上に私たちresultType
の変化java.util.HashMap
、それは次のように生成されます。
Map selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" parameterType="cn.lyn4ever.entity.User" resultType="java.util.HashMap">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>
この結果は、Userクラスの属性と呼ばれるキー、属性値の値を言うことです。
もちろん、あなたもリストに、この地図を多くのレコードをチェックアウトすることができます
List<Map> selectList(User user);
<select id="selectOne" parameterType="cn.lyn4ever.entity.User" resultType="java.util.HashMap">
select id,username,telphone from user
</select>
しかし、時には我々はそれを行う方法を、この結果をしたいですか?
{
"01":{
username:"zhangsan",
telphone:"13000000000"
}
}
これは、我々は地図<文字列、ユーザー>、このような場合は2つの解があるをカスタマイズしたいものです。
1.ノート
@MapKey("id")
Map<String,User> getUserInMap();
<!--xml和之前写法一样-->
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User" resultType="User">
select id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>
プロパティ@MapKeyの値は、ユーザーオブジェクトを書かれています
xmlファイル2.書き込み
HashMap<String,Object> getUserInMap();
<select id="getUserInMap" parameterType="cn.lyn4ever.entity.User" resultType="java.util.HashMap">
SELECT id as 'key', * as 'value', id,username,telphone from user where telphone=#{telphone} and password = #{password}
</select>
あなたがチェックアウトする場合はもちろん、上記の二つの方法、言葉の数がリストされます