数据表:
实体类:
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
private String sex;
private String email;
//构造方法,get/set,toString()
}
1:查询一个实体类对象
- a>实体类对象接收
- b>List集合接收
- c>Map集合接收,字段名为key,字段值为value
接口中的方法:
//查询单个数据以实体类对象接收
User getUserById(@Param("id") Integer id);
//查询单个数据以List集合接收
List<User> getUserByIdToList(@Param("id") Integer id);
//查询单个数据以Map集合接收 字段为key,字段值为value
Map<String,Object> getUserByIdToMap(@Param("id") Integer id);
对应的映射:
查询单个数据以实体类对象接收
<select id="getUserById" resultType="User">
select * from t_user where id=#{id}
</select>
查询单个数据以List集合接收
<select id="getUserByIdToList" resultType="User">
select * from t_user where id=#{id}
</select>
查询单个数据以Map集合接收 字段为key,字段值为value
<select id="getUserByIdToMap" resultType="map">
select * from t_user where id=#{id}
</select>
2:查询多个实体类对象
- a>List集合接收
- b>通过Map类型的List集合接收
- c>在方法上添加@MapKey注解 将每条数据转化为map的value,以字段的值为key
接口中的方法:
//查询多条数据以List集合接收
List<User> getAllUserToList();
//查询所有信息为map 将map放入list接收
List<Map<String,Object>> getAllUserToListMap();
//查询所有信息以Map(唯一标识字段作为键,整个User对象作为值)接收
@MapKey("id")
Map<String,Object> getAllToMap();
对应的映射:
查询多条数据以List集合接收
<select id="getAllUserToList" resultType="user">
select * from t_user
</select>
查询所有信息为map 将map放入list接收
<select id="getAllUserTListoMap" resultType="map">
select * from t_user
</select>
查询所有信息以Map(唯一标识字段作为键,整个User对象作为值)接收
<select id="getAllToMap" resultType="map">
select * from t_user;
</select>
3:查询单个数据
接口中的方法:
//查询总数
int getCount();
对应的映射:
<select id="getCount" resultType="Integer">
select count(*) from t_user
</select>
MyBatis规定的数据类型的resultType别名: