★学习目标:
1、熟悉一对多查询
2、能够在MyBatis中使用@Many注解实现一对多关联查询
★思考任务:
思考,如何在MyBatis中使用@Many注解实现一对多关联查询
★任务学习
★知识要点:
MyBatis使用@Many注解实现数据表的一对多关联查询,@Many注解的作用等同于XML配置文件中的<collection>元素。
接下来,以4.3节中的tb_user和tb_orders数据表为例,详细讲解基于@Many注解配置实现tb_user和tb_orders数据表之间的一对多关联查询,具体步骤如下。
(1)本案例使用4.3节中的Users类和Orders类作为持久类。
(2)创建接口。
1)在项目的com.itheima.dao包下创建OrdersMapper接口,在该接口中编写selectOrdersByUserId()方法,通过user_id查询用户对应的订单信息。
2)在项目的com.itheima.dao包下创建UsersMapper接口,在该接口中编写selectUserById()方法,通过id查询用户信息。
(3)编写配置文件。
在核心配置文件mybatis-config.xml中的<mappers>元素下引入UsersMapper和OrdersMapper接口,将这两个接口加载到核心配置文件中。
需要注意的是,由于mybatis-config.xml文件中的扫描方式是从上往下扫描,所以<mappers>元素下引入UsersMapper和OrdersMapper接口的位置,必须在引入UsersMapper.xml和OrdersMapper.xml文件位置前面,否则程序将会首先读取到引入的UsersMapper.xml和OrdersMapper.xml文件,程序将会报错。
(4)编写测试类。
为了验证上述配置,可以在测试类MyBatisTest中,编写测试方法selectUserByIdTest()。

