MybatisMapper配置

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>

1.1 一对一查询

 

 

 

5. 配置OrderMapper.xml

<mapper namespace="com.itheima.mapper.OrderMapper">

<resultMap id="orderMap" type="com.itheima.domain.Order">

<result column="uid" property="user.id">

</result> <result column="username" property="user.username"></result>

<result column="password" property="user.password"></result>

<result column="birthday" property="user.birthday"></result>

</resultMap> <select id="findAll" resultMap="orderMap">

select * from orders o,user u where o.uid=u.id </select>

</mapper>

6. 测试结果

OrderMapper mapper = sqlSession.getMapper(OrderMapper.class); List<Order> all = mapper.findAll(); for(Order order : all){ System.out.println(order); }

 

 

 

4. 创建UserMapper接口

public interface UserMapper { List<User> findAll(); }

5. 配置UserMapper.xml

<mapper namespace="com.itheima.mapper.UserMapper">
<resultMap id="userMap" type="com.itheima.domain.User">
<result column="id" property="id"></result>
<result column="username" property="username"></result>
<result column="password" property="password"></result>
<result column="birthday" property="birthday"></result>
<collection property="orderList" ofType="com.itheima.domain.Order">
<result column="oid" property="id"></result>
<result column="ordertime" property="ordertime"></result>
<result column="total" property="total"></result>
</collection>
</resultMap>
<select id="findAll" resultMap="userMap">

select *,o.id oid from user u left join orders o on u.id=o.uid
</select>

</mapper>

一对多查询

UserMapper mapper = sqlSession.getMapper(UserMapper.class);

List<User> all = mapper.findAll();

for(User user : all){

System.out.println(user.getUsername());

List<Order> orderList = user.getOrderList();

for(Order order : orderList){ System.out.println(order);

}

System.out.println("----------------------------------"); }

 

4. 添加UserMapper接口方法

List<User> findAllUserAndRole();

配置UserMapper.xml

<resultMap id="userRoleMap" type="com.itheima.domain.User">

<result column="id" property="id"></result> <result column="username" property="username"></result> <result column="password" property="password"></result>

<result column="birthday" property="birthday"></result>

<collection property="roleList" ofType="com.itheima.domain.Role">

<result column="rid" property="id"></result>

<result column="rolename" property="rolename"></result>

</collection>

</resultMap>

<select id="findAllUserAndRole" resultMap="userRoleMap">

select u.*,r.*,r.id rid from user u left join user_role ur on u.id=ur.user_id inner join role r on ur.role_id=r.id

</select>

6. 测试结果

UserMapper mapper = sqlSession.getMapper(UserMapper.class);

List<User> all = mapper.findAllUserAndRole();

for(User user : all){

System.out.println(user.getUsername());

List<Role> roleList = user.getRoleList();

for(Role role : roleList){

System.out.println(role); }

System.out.println("----------------------------------");

}

原文地址:https://www.cnblogs.com/hexiaofei/p/13466973.html