原文地址:https://blog.csdn.net/ititii/article/details/79999481

一、Mybatis关联查询映射

这里采用一个案例来进行分析:(下面的案例都是采用Mapper接口编程的方式来实现)

数据库准备:在数据库中创建一个Mybatis数据库,并在中创建user(用户)、orders(订单)、orderdetail(订单详情)、items(商品)表。

各表的设计:

user表:

orders表:

orderdetail表:

items表:

表与表的关系:

user/orders表:

user——>orders:一个用户可以有多个订单;一对多

orders——>user:一个订单只能由一个用户创建;一对一

orders/orderdetail表:

orders——>orderdetail:一个订单有多个订单详情,因为一个订单可能包含多个商品;一对多

orderdetail——>orders:一个订单详情只能包含在一个订单当中;一对一

orderdetail/items表:

orderdetail——>items:一个订单明细只能对应一个商品;一对一

items——>orderdetail:一个商品可以有多个订单明细;一对多。

为每个表创建一个javaBean对象:

user表对应的User类:

    1. public class User {
      1. private Integer id;
        1. private String username;
          1. private Date birthday;
            1. private String sex;
              1. private String address;
                1. //省略getter和setter方法
                  1. }
                1.  

                orders表对应的Orders类:

                  1. public class Orders {
                    1. private Integer id;
                      1. private Integer user_id;
                        1. private String number;
                          1. private Date createtime;
                            1. private String note;
                              1. //省略getter和setter方法
                                1. }
                              1.  

                              orderdetail表对应的Orderdetail类:

                                1. public class Orderdetail {
                                  1. private Integer id;
                                    1. private Integer ordersId;
                                      1. private Integer itemsId;
                                        1. private Integer itemsNum;
                                          1. //省略getter和setter方法
                                            1. }
                                          1.  

                                          items表对应的Items类:

                                            1. public class Items {
                                              1. private Integer id;
                                                1. private String name;
                                                  1. private float price;
                                                    1. private String text;
                                                      1. private String pic;
                                                        1. private Date createtime;
                                                          1. //省略getter和setter方法
                                                            1. }
                                                          1.  
                                                          1.1.一对一查询

                                                          需求分析:

                                                          查询订单信息,关联查询用户信息。

                                                          sql语句:

                                                          确定查询主表:订单表

                                                          确定查询从表:用户表

                                                          SELECT
                                                                  orders.`id`,
                                                                  orders.`user_id` userId,
                                                                  orders.`number`,
                                                                  user.`username`,
                                                                  user.`sex`
                                                                  FROM
                                                                  orders,
                                                                  USER
                                                                  WHERE orders.`user_id` = user.`id`

                                                          方式一:采用resultType结果集映射:

                                                          由于resultType结果集映射时把查询出来的结果集中的每一列和javaBean对象中每个属性进行一一对应。然而在我们创建的javaBean中Orders表并不满足查询结果集的要求,因此这里就对Orders类进行扩展。

                                                          扩展javaBean:OrdersExt

                                                            1. public class OrdersExt extends Orders{
                                                              1. private String username;
                                                                1. private String sex;
                                                                  1. //省略getter和setter方法
                                                                    1. }
                                                                  1.  

                                                                  编写Mapper接口:

                                                                    1. public interface OrdersMapper {
                                                                      1. public List<OrdersExt> findOrdersAndUser();
                                                                        1. }
                                                                      1.  

                                                                      编写OrdersMapper.xml映射文件:

                                                                        1. <?xml version="1.0" encoding="UTF-8"?>
                                                                          1. <!DOCTYPE mapper
                                                                            1. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                                                              1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                                                                                1. <mapper namespace="com.lc.mybatis.mapper.OrdersMapper">
                                                                                    1. <!-- 一对一resultType结果映射 -->
                                                                                      1. <select id="findOrdersAndUser" resultType="ordersExt">
                                                                                        1. SELECT
                                                                                          1. orders.`id`,
                                                                                            1. orders.`user_id` userId,
                                                                                              1. orders.`number`,
                                                                                                1. user.`username`,
                                                                                                  1. user.`sex`
                                                                                                    1. FROM
                                                                                                      1. orders,
                                                                                                        1. USER
                                                                                                          1. WHERE orders.`user_id` = user.`id`
                                                                                                            1. </select>
                                                                                                              1. </mapper>
                                                                                                            1.  

                                                                                                            把OrdersMapper.xml映射文件加载到全局配置文件中SqlMapConfig.xml文件中:

                                                                                                            我这里使用的是加载包下的所有映射文件的方式来加载映射文件;

                                                                                                              1. <!-- 加载映射文件 -->
                                                                                                                1. <mappers>
                                                                                                                  1. <!-- 注册指定包下的所有映射文件 -->
                                                                                                                    1. <package name="com.lc.mybatis.mapper"/>
                                                                                                                      1. </mappers>
                                                                                                                    1.  

                                                                                                                    测试类:

                                                                                                                      1. public class OrdersMapperTest {
                                                                                                                          1. private SqlSessionFactory sqlSessionFactory ;
                                                                                                                              1. @Before
                                                                                                                                1. public void setUp() throws IOException {
                                                                                                                                  1. InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                                                                                                    1. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                                                                                                                                      1. }
                                                                                                                                        1. @Test
                                                                                                                                          1. public void testFindOerdersAndUser() {
                                                                                                                                            1. SqlSession sqlSession = sqlSessionFactory.openSession();
                                                                                                                                              1. //获取UserMapper的代理类
                                                                                                                                                1. OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);
                                                                                                                                                  1. List<OrdersExt> lists = ordersMapper.findOrdersAndUser();
                                                                                                                                                    1. System.out.println(lists);
                                                                                                                                                      1. sqlSession.close();
                                                                                                                                                        1. }
                                                                                                                                                          1. }
                                                                                                                                                        1.  

                                                                                                                                                        方式二:采用resultMap结果集映射

                                                                                                                                                        使用resultMap对结果集映射,需要先声明resultMap,因为resultMap是对查询出来的结果集中的每一列进行手动指定映射到javaBean对象中哪个属性上。

                                                                                                                                                        修改OrdersExt类:

                                                                                                                                                          1. public class OrdersExt extends Orders{
                                                                                                                                                            1. private User user;
                                                                                                                                                              1. //省略getter和setter方法
                                                                                                                                                                1. }
                                                                                                                                                              1.  

                                                                                                                                                              修该OrdersMapper.xml映射文件:

                                                                                                                                                              其中映射文件中的:<association property="指定关联关系映射到OrdersExt的哪个属性上" javaType="指定该属性的java类型">;该标签是一对一所使用的关联标签。

                                                                                                                                                                1. <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                  1. <!DOCTYPE mapper
                                                                                                                                                                    1. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                                                                                                                                                      1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                                                                                                                                                                        1. <mapper namespace="com.lc.mybatis.mapper.OrdersMapper">
                                                                                                                                                                          1. <!-- 一对一resultMap结果映射 -->
                                                                                                                                                                            1. <!-- 声明resultMap -->
                                                                                                                                                                              1. <resultMap type="ordersExt" id="findOrdersAndUserRstMap">
                                                                                                                                                                                1. <!-- 订单信息 -->
                                                                                                                                                                                  1. <id column="id" property="id"/>
                                                                                                                                                                                    1. <result column="userId" property="userId"/>
                                                                                                                                                                                      1. <result column="number" property="number"/>
                                                                                                                                                                                        1. <!-- 用户信息(一对一) -->
                                                                                                                                                                                          1. <!--association标签:一对一映射 -->
                                                                                                                                                                                            1. <!-- property属性:指定关联信息映射到OrdersExt的哪个属性上 -->
                                                                                                                                                                                              1. <!-- javaType属性:指定关联属性的java类型 -->
                                                                                                                                                                                                1. <association property="user" javaType="user">
                                                                                                                                                                                                  1. <id column="userId" property="id"/>
                                                                                                                                                                                                    1. <result column="username" property="username"/>
                                                                                                                                                                                                      1. <result column="sex" property="sex"/>
                                                                                                                                                                                                        1. </association>
                                                                                                                                                                                                          1. </resultMap>
                                                                                                                                                                                                            1. <select id="findOrdersAndUserRstMap" resultMap="findOrdersAndUserRstMap">
                                                                                                                                                                                                              1. SELECT
                                                                                                                                                                                                                1. orders.`id`,
                                                                                                                                                                                                                  1. orders.`user_id`userId,
                                                                                                                                                                                                                    1. orders.`number`,
                                                                                                                                                                                                                      1. user.`username`,
                                                                                                                                                                                                                        1. user.`sex`
                                                                                                                                                                                                                          1. FROM
                                                                                                                                                                                                                            1. orders,
                                                                                                                                                                                                                              1. USER
                                                                                                                                                                                                                                1. WHERE orders.`user_id` = user.`id`
                                                                                                                                                                                                                                  1. </select>
                                                                                                                                                                                                                                      1. </mapper>
                                                                                                                                                                                                                                    1.  

                                                                                                                                                                                                                                    修改Mapper接口:

                                                                                                                                                                                                                                      1. public interface OrdersMapper {
                                                                                                                                                                                                                                        1. public List<OrdersExt> findOrdersAndUserRstMap();
                                                                                                                                                                                                                                          1. }
                                                                                                                                                                                                                                        1.  

                                                                                                                                                                                                                                        测试类:

                                                                                                                                                                                                                                          1. public class OrdersMapperTest {
                                                                                                                                                                                                                                              1. private SqlSessionFactory sqlSessionFactory ;
                                                                                                                                                                                                                                                  1. @Before
                                                                                                                                                                                                                                                    1. public void setUp() throws IOException {
                                                                                                                                                                                                                                                      1. InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                                                                                                                                                                                                                        1. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                                                                                                                                                                                                                                                          1. }
                                                                                                                                                                                                                                                            1. @Test
                                                                                                                                                                                                                                                              1. public void testFindOrdersAndUserRstMap() {
                                                                                                                                                                                                                                                                1. SqlSession sqlSession = sqlSessionFactory.openSession();
                                                                                                                                                                                                                                                                  1. //获取UserMapper的代理类
                                                                                                                                                                                                                                                                    1. OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);
                                                                                                                                                                                                                                                                      1. List<OrdersExt> lists = ordersMapper.findOrdersAndUserRstMap();
                                                                                                                                                                                                                                                                        1. sqlSession.close();
                                                                                                                                                                                                                                                                          1. }
                                                                                                                                                                                                                                                                            1. }
                                                                                                                                                                                                                                                                          1.  
                                                                                                                                                                                                                                                                          1.2.一对多关联查询

                                                                                                                                                                                                                                                                          需求分析:

                                                                                                                                                                                                                                                                          查询订单信息及订单明细信息。

                                                                                                                                                                                                                                                                          sql语句:

                                                                                                                                                                                                                                                                          查询主表:订单表

                                                                                                                                                                                                                                                                          查询从表:用户表和订单详情表

                                                                                                                                                                                                                                                                          SELECT
                                                                                                                                                                                                                                                                                  orders.`id`,
                                                                                                                                                                                                                                                                                  orders.`user_id`,
                                                                                                                                                                                                                                                                                  orders.`number`,
                                                                                                                                                                                                                                                                                  user.`username`,
                                                                                                                                                                                                                                                                                  user.`sex`,
                                                                                                                                                                                                                                                                                  orderdetail.`id` detailId,
                                                                                                                                                                                                                                                                                  orderdetail.`items_id`,
                                                                                                                                                                                                                                                                                  orderdetail.`items_num`
                                                                                                                                                                                                                                                                                  FROM
                                                                                                                                                                                                                                                                                  orders,
                                                                                                                                                                                                                                                                                  USER,
                                                                                                                                                                                                                                                                                  orderdetail
                                                                                                                                                                                                                                                                                  WHERE orders.`user_id` = user.`id`
                                                                                                                                                                                                                                                                                  AND orders.`id` = orderdetail.`orders_id`

                                                                                                                                                                                                                                                                          编写javaBean:

                                                                                                                                                                                                                                                                          这里查询信息有订单详情和用户信息,因此,Orders类不能满足我们查询是映射的需求,因此,这里同样采用对Orders类进行扩展:

                                                                                                                                                                                                                                                                            1. public class OrdersExt extends Orders{
                                                                                                                                                                                                                                                                              1. private User user;
                                                                                                                                                                                                                                                                                1. private List<Orderdetail> orderdetailLists;
                                                                                                                                                                                                                                                                                  1. //省略getter和setter方法
                                                                                                                                                                                                                                                                                    1. }
                                                                                                                                                                                                                                                                                  1.  

                                                                                                                                                                                                                                                                                  编写Mapper接口:

                                                                                                                                                                                                                                                                                    1. public interface OrdersMapper {
                                                                                                                                                                                                                                                                                      1. public List<OrdersExt> findOrdersAndOrderdetail();
                                                                                                                                                                                                                                                                                        1. }
                                                                                                                                                                                                                                                                                      1.  

                                                                                                                                                                                                                                                                                      编写OrderMapper.xml映射文件:

                                                                                                                                                                                                                                                                                      在映射文件中使用了<collection property="指定关联关信息映射到OrdersExt的哪个属性上" ofType="集合中元素的java类型"> 标签;该标签时一对多关联映射所使用的,把查询的结果集中有多个结果放在集合中去。

                                                                                                                                                                                                                                                                                        1. <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                                                                                                                          1. <!DOCTYPE mapper
                                                                                                                                                                                                                                                                                            1. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                                                                                                                                                                                                                                                                              1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                                                                                                                                                                                                                                                                                                1. <mapper namespace="com.lc.mybatis.mapper.OrdersMapper">
                                                                                                                                                                                                                                                                                                  1. <!-- 声明resultMap -->
                                                                                                                                                                                                                                                                                                    1. <resultMap type="ordersExt" id="ordersAndOrderdetail">
                                                                                                                                                                                                                                                                                                      1. <!-- 订单信息 -->
                                                                                                                                                                                                                                                                                                        1. <id column="id" property="id"/>
                                                                                                                                                                                                                                                                                                          1. <result column="user_id" property="userId"/>
                                                                                                                                                                                                                                                                                                            1. <result column="number" property="number"/>
                                                                                                                                                                                                                                                                                                              1. <!-- 用户信息(一对一) -->
                                                                                                                                                                                                                                                                                                                1. <association property="user" javaType="user">
                                                                                                                                                                                                                                                                                                                  1. <id column="user_id" property="id"/>
                                                                                                                                                                                                                                                                                                                    1. <result column="username" property="username"/>
                                                                                                                                                                                                                                                                                                                      1. <result column="sex" property="sex"/>
                                                                                                                                                                                                                                                                                                                        1. </association>
                                                                                                                                                                                                                                                                                                                          1. <!-- 订单详情信息(一对多) -->
                                                                                                                                                                                                                                                                                                                            1. <!-- collection标签:由于一对多映射 -->
                                                                                                                                                                                                                                                                                                                              1. <!-- property属性:指关联信息映射到OrdeersExt的哪个属性上 -->
                                                                                                                                                                                                                                                                                                                                1. <!-- ofType属性: 集合中java类型-->
                                                                                                                                                                                                                                                                                                                                  1. <collection property="orderdetailLists" ofType="com.lc.mybatis.po.Orderdetail">
                                                                                                                                                                                                                                                                                                                                    1. <id column="detailId" property="id"/>
                                                                                                                                                                                                                                                                                                                                      1. <result column="items_id" property="itemsId"/>
                                                                                                                                                                                                                                                                                                                                        1. <result column="items_num" property="itemsNum"/>
                                                                                                                                                                                                                                                                                                                                          1. </collection>
                                                                                                                                                                                                                                                                                                                                            1. </resultMap>
                                                                                                                                                                                                                                                                                                                                                1. <!-- 查询订单信息:主信息为订单信息,从信息为用户信息和订单详情 -->
                                                                                                                                                                                                                                                                                                                                                  1. <select id="findOrdersAndOrderdetail" resultMap="ordersAndOrderdetail">
                                                                                                                                                                                                                                                                                                                                                    1. SELECT
                                                                                                                                                                                                                                                                                                                                                      1. orders.`id`,
                                                                                                                                                                                                                                                                                                                                                        1. orders.`user_id`,
                                                                                                                                                                                                                                                                                                                                                          1. orders.`number`,
                                                                                                                                                                                                                                                                                                                                                            1. user.`username`,
                                                                                                                                                                                                                                                                                                                                                              1. user.`sex`,
                                                                                                                                                                                                                                                                                                                                                                1. orderdetail.`id` detailId,
                                                                                                                                                                                                                                                                                                                                                                  1. orderdetail.`items_id`,
                                                                                                                                                                                                                                                                                                                                                                    1. orderdetail.`items_num`
                                                                                                                                                                                                                                                                                                                                                                      1. FROM
                                                                                                                                                                                                                                                                                                                                                                        1. orders,
                                                                                                                                                                                                                                                                                                                                                                          1. USER,
                                                                                                                                                                                                                                                                                                                                                                            1. orderdetail
                                                                                                                                                                                                                                                                                                                                                                              1. WHERE orders.`user_id` = user.`id`
                                                                                                                                                                                                                                                                                                                                                                                1. AND orders.`id` = orderdetail.`orders_id`
                                                                                                                                                                                                                                                                                                                                                                                  1. </select>
                                                                                                                                                                                                                                                                                                                                                                                      1. </mapper>
                                                                                                                                                                                                                                                                                                                                                                                    1.  

                                                                                                                                                                                                                                                                                                                                                                                    加载OrderMapper.xml映射文件:

                                                                                                                                                                                                                                                                                                                                                                                      1. <!-- 加载映射文件 -->
                                                                                                                                                                                                                                                                                                                                                                                        1. <mappers>
                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- 使用相对于类路径的资源 -->
                                                                                                                                                                                                                                                                                                                                                                                            1. <!-- <mapper resource="com/lc/mybatis/mapper/UserMapper.xml"/> -->
                                                                                                                                                                                                                                                                                                                                                                                              1. <!-- 注册指定包下的所有映射文件 -->
                                                                                                                                                                                                                                                                                                                                                                                                1. <package name="com.lc.mybatis.mapper"/>
                                                                                                                                                                                                                                                                                                                                                                                                  1. </mappers>
                                                                                                                                                                                                                                                                                                                                                                                                1.  

                                                                                                                                                                                                                                                                                                                                                                                                编写测试类:

                                                                                                                                                                                                                                                                                                                                                                                                  1. private SqlSessionFactory sqlSessionFactory ;
                                                                                                                                                                                                                                                                                                                                                                                                      1. @Before
                                                                                                                                                                                                                                                                                                                                                                                                        1. public void setUp() throws IOException {
                                                                                                                                                                                                                                                                                                                                                                                                          1. InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                                                                                                                                                                                                                                                                                                                                                                            1. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                                                                                                                                                                                                                                                                                                                                                                                                              1. }
                                                                                                                                                                                                                                                                                                                                                                                                                1. @Test
                                                                                                                                                                                                                                                                                                                                                                                                                  1. public void testFindOrdersAndOrderdetail() {
                                                                                                                                                                                                                                                                                                                                                                                                                    1. SqlSession sqlSession = sqlSessionFactory.openSession();
                                                                                                                                                                                                                                                                                                                                                                                                                      1. //获取UserMapper的代理类
                                                                                                                                                                                                                                                                                                                                                                                                                        1. OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);
                                                                                                                                                                                                                                                                                                                                                                                                                          1. List<OrdersExt> lists = ordersMapper.findOrdersAndOrderdetail();
                                                                                                                                                                                                                                                                                                                                                                                                                            1. sqlSession.close();
                                                                                                                                                                                                                                                                                                                                                                                                                              1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                  1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                1.  
                                                                                                                                                                                                                                                                                                                                                                                                                                1.3.多对多关联查询

                                                                                                                                                                                                                                                                                                                                                                                                                                其实多对多就是特殊的一对一的关联关系。

                                                                                                                                                                                                                                                                                                                                                                                                                                需求分析:

                                                                                                                                                                                                                                                                                                                                                                                                                                查询用户信息及用户购买的商品信息。

                                                                                                                                                                                                                                                                                                                                                                                                                                sql语句:

                                                                                                                                                                                                                                                                                                                                                                                                                                主表:user表

                                                                                                                                                                                                                                                                                                                                                                                                                                从表:orders、orderdetail、items

                                                                                                                                                                                                                                                                                                                                                                                                                                SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                        orders.`id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orders.`user_id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orders.`number`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        user.`username`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        user.`sex`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orderdetail.`id` detailId,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orderdetail.`items_id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orderdetail.`items_num`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        items.`name`,
                                                                                                                                                                                                                                                                                                                                                                                                                                        items.`price`
                                                                                                                                                                                                                                                                                                                                                                                                                                        FROM
                                                                                                                                                                                                                                                                                                                                                                                                                                        orders,
                                                                                                                                                                                                                                                                                                                                                                                                                                        USER,
                                                                                                                                                                                                                                                                                                                                                                                                                                        orderdetail,
                                                                                                                                                                                                                                                                                                                                                                                                                                        items
                                                                                                                                                                                                                                                                                                                                                                                                                                        WHERE orders.`user_id` = user.`id`
                                                                                                                                                                                                                                                                                                                                                                                                                                        AND orders.`id` = orderdetail.`orders_id`
                                                                                                                                                                                                                                                                                                                                                                                                                                        AND orderdetail.`items_id` = items.`id`

                                                                                                                                                                                                                                                                                                                                                                                                                                修改user表对应的User类:

                                                                                                                                                                                                                                                                                                                                                                                                                                  1. public class User {
                                                                                                                                                                                                                                                                                                                                                                                                                                    1. private Integer id;
                                                                                                                                                                                                                                                                                                                                                                                                                                      1. private String username;
                                                                                                                                                                                                                                                                                                                                                                                                                                        1. private Date birthday;
                                                                                                                                                                                                                                                                                                                                                                                                                                          1. private String sex;
                                                                                                                                                                                                                                                                                                                                                                                                                                            1. private String address;
                                                                                                                                                                                                                                                                                                                                                                                                                                              1. private List<Orders> ordersLists;
                                                                                                                                                                                                                                                                                                                                                                                                                                            1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                            修改orders表对应的Orders类:

                                                                                                                                                                                                                                                                                                                                                                                                                                              1. public class Orders {
                                                                                                                                                                                                                                                                                                                                                                                                                                                1. private Integer id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. private Integer userId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. private String number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. private Date createtime;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. private String note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. private List<Orderdetail> orderdetailList;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                        修改orderdetail表对应的Orderdetail类;

                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. public class Orderdetail {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. private Integer id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. private Integer ordersId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. private Integer itemsId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. private Integer itemsNum;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. private Items items;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  修改items表对应的iItems类:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. public class Items {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. private Integer id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. private String name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. private float price;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. private String text;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. private String pic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. private Date createtime;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              编写Mapper接口:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. public interface UserMapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. public List<User> findUserAndItems();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  编写UserMapper.xml映射文件:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  查询用户信息及其关联的商品信息是先查用户信息及关联到的订单信息再到订单详情信息最后到商品信息的一个映射过程,所以在映射文件中要注意各层级的映射关系以及映射标签的嵌套。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <!DOCTYPE mapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <mapper namespace="com.lc.mybatis.mapper.UserMapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <!-- 多对多:查询用户购买商品的详细信息 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <resultMap type="user" id="userAndItems">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <!-- 用户信息 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <id column="user_id" property="id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <result column="username" property="username"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <result column="sex" property="sex"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <!-- 订单信息(一对多) -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <collection property="ordersLists" ofType="orders">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <id column="id" property="id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <result column="user_id" property="userId"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <result column="number" property="number"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <!-- 订单详情信息(一对多) -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <collection property="orderdetailList" ofType="orderdetail">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <id column="detailId" property="id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <result column="items_id" property="itemsId"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <result column="items_num" property="itemsNum"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <!-- items信息:(一对多) -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <association property="items" javaType="items">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <id column="items_id" property="id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <result column="name" property="name"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <result column="price" property="price"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. </association>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. </collection>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. </collection>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. </resultMap>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <select id="findUserAndItems" resultMap="userAndItems">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. orders.`id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. orders.`user_id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. orders.`number`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. user.`username`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. user.`sex`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. orderdetail.`id` detailId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. orderdetail.`items_id`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. orderdetail.`items_num`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. items.`name`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. items.`price`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. FROM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. orders,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. USER,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. orderdetail,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. items
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. WHERE orders.`user_id` = user.`id`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. AND orders.`id` = orderdetail.`orders_id`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. AND orderdetail.`items_id` = items.`id`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. </select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. </mapper>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              加载UserMapper.xml映射文件:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <!-- 加载映射文件 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <mappers>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <!-- 注册指定包下的所有映射文件 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <package name="com.lc.mybatis.mapper"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. </mappers>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      编写测试类:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. public class UserMapperTest {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. private SqlSessionFactory sqlSessionFactory ;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. @Before
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. public void setUp() throws IOException{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. @Test
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. public void testFindOrdersAndOrderdetail() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. SqlSession sqlSession = sqlSessionFactory.openSession();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. //获取UserMapper的代理类
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. List<User> lists = userMapper.findUserAndItems();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. sqlSession.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1.  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1.4.对关联查询做出总结

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        关联查询,也就是多表查询,查询的结果集也不是一个表所对应的JavaBean对象所能进行直接映射的。因此,我们在进行关联查询要进行合理的JavaBean对象处理和扩展,保证查询出来的结果集都有所对应的JavaBean属性和之对应。这样就能保证查询出来的结果正确无误。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        在关联查询中我们常用的标签有:association和collection标签。association标签是一对一关联映射所需要的标签。collection标签是一对多所需要的标签。在Mybatis中,可以理解为多对一也是特殊的一对一(如同:多个员工对应一个部门;但是也可以理解为一个员工对应一个部门,只不过有多个员工而已;可以理解为:在一个Employee对象中有一个department属性;同时又多个Employee对象,每个对象中的department对应同一个部门);多对多是特殊的一对多。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        在结果集映射中,我们用的结果集映射总共有两种,分别是:resultType和resultMap;那在关联映射的时候,我们该如何选择使用哪种结果映射方式呢?其实只需要理解两种映射的不同和映射原理。resultType映射时把查询出来的结果集和对应的JavaBean属性进行一一对应。因此,在采用resultType映射,需要映射结果集的javaBean中的所有属性都是与查询结果集进行相互对应的(属性不能进行嵌套)。而使用resultMap结果集映射,则需要先声明resultMap,后使用。先声明resultMap就是制定查询出来的结果集中的列数和javaBean对象中的哪些属性进行关联映射(属性可以嵌套)。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        二、Mybatis的延迟加载

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        在mybatis中只有resultMap标签的association标签和collection标签具有延迟加载的功能。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        延迟加载的意思是在进行关联查询时,利用延迟加载,先加载主信息,需要关联信息时,再去按需加载关联信息。这样就会大大的提高数据库的性能,查询单表要比查询多表速度要快的多。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        设置延迟加载(打开延迟加载):

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Mybatis默认是不开启延迟加载的,需要我们去配置打开延迟加载。需要在全局配置文件中SqlMapConfig.xml中设置lazyLoadingEnabled、aggressiveLazyLoading

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        开启延迟加载:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- 设置延迟加载 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <settings>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <setting name="lazyLoadingEnabled" value="true"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <setting name="aggressiveLazyLoading" value="false"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. </settings>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                上面已经在全局配置文件中打开了延迟加载,下面我们就通过一个案例来测试是否已经可以使用延迟加载了:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                需求分析:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                查询订单信息及关联的用户信息。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                编码实现:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                编写Javabean:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. public class OrdersExt extends Orders{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. private User user;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. //省略getter和setter方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      编写Mapper接口:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. public interface OrdersMapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. public List<OrdersExt> findOrdersAndUserLazyLoading();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          编写OrdersMapper.xml配置文件:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          为了使用懒加载,把刚才的需求分解成,首先查询订单信息,然后再按需根据id查询用户信息。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          这样就需要配置两个select标签语句;在进行关联查询的时候,association标签找那个的select 是把按需查询用户信息的statement的id,column的作用就是把查询出来的orders信息集合的外键user_id作为findUserById的入参。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <!DOCTYPE mapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <mapper namespace="com.lc.mybatis.mapper.OrdersMapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <!-- 需求:查询订单信息(主信息为订单,从信息为用户),并且对关联表进行懒加载 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- 声明resultMap -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <resultMap type="ordersExt" id="lazyloading">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <!-- 订单信息 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <id column="id" property="id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <result column="user_id" property="user_id"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <result column="number" property="number"/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <!-- 用户信息(一对一) -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <!-- select属性:指定关联查询statement(即查询用户statement的id),然后将查询的结果封装到property指定的属性中去 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- column属性:指定查询出来的列column属性的值,作为statement查询语句的入参 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <association property="user" select="findUserById" column="user_id"></association>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. </resultMap>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <select id="findOrdersAndUserLazyLoading" resultMap="lazyloading">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. SELECT * FROM ORDERS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. </select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <select id="findUserById" parameterType="user" resultType="user">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. SELECT * FROM USER WHERE id=#{id}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. </select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <!-- 在mybatis中,resultMap标签 的association标签和collection标签具有延迟加载的功能。resultType结果映射就没有延迟加载 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. </mapper>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                编写测试类:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                通过断点方式来测试是否使用了懒加载。在测试语句中得到lists处打断点,通过查询lists中的元素中的user属性是否为空,当执行到获取user对象后,再看lists中元素的user属性是否为空。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. public class OrdersMapperTest {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. private SqlSessionFactory sqlSessionFactory ;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. @Before
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. public void setUp() throws IOException {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. @Test
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. public void testFindOrdersAndUserLazyLoading() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. SqlSession sqlSession = sqlSessionFactory.openSession();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. //获取UserMapper的代理类
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. List<OrdersExt> lists = ordersMapper.findOrdersAndUserLazyLoading();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. lists.get(0).getUser();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. sqlSession.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        显然通过测试:在第一次获取lists集合,集合中的元素中user属性为空,当获取user后,lists集合中元素的user属性就不为空。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        三、Mybatis的逆向工程(会用)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        什么是逆向工程:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        简单解释:就是通过数据库中的表,自动生成java代码;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        下载逆向工程:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        逆向工程的下载地址:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        https://github.com/mybatis/generator/releases/tag/mybatis-generator-1.3.2

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        使用逆向工程:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        创建项目导入jar包:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        创建generator配置文件:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        该配置文件放在classpath下:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        该配置文件说明看注释;该配置文件可以在下载下来的逆向工程中docs中index.html中找到;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <!DOCTYPE generatorConfiguration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <generatorConfiguration>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <context id="testTables" targetRuntime="MyBatis3">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <commentGenerator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <property name="suppressAllComments" value="true" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. </commentGenerator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. password="mysql">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. </jdbcConnection>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. userId="yycg"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. password="yycg">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. </jdbcConnection> -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. NUMERIC 类型解析为java.math.BigDecimal -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <javaTypeResolver>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <property name="forceBigDecimals" value="false" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. </javaTypeResolver>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <!-- targetProject:生成PO类的位置 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <javaModelGenerator targetPackage="cn.itcast.ssm.po"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. targetProject=".\src">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <property name="enableSubPackages" value="false" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <!-- 从数据库返回的值被清理前后的空格 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <property name="trimStrings" value="true" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. </javaModelGenerator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <!-- targetProject:mapper映射文件生成的位置 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <sqlMapGenerator targetPackage="cn.itcast.ssm.mapper"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. targetProject=".\src">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. <property name="enableSubPackages" value="false" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. </sqlMapGenerator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <!-- targetPackage:mapper接口生成的位置 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <javaClientGenerator type="XMLMAPPER"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. targetPackage="cn.itcast.ssm.mapper"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. targetProject=".\src">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. <property name="enableSubPackages" value="false" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. </javaClientGenerator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. <!-- 指定数据库表 -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. <table tableName="items"></table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. <table tableName="orders"></table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. <table tableName="orderdetail"></table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. <table tableName="user"></table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. </context>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. </generatorConfiguration>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          创建生成表对应类的java类:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. public class Generator {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. public static void main(String[] args) throws Exception{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. List<String> warnings = new ArrayList<String>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. boolean overwrite = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. File configFile = new File("config/generatorConfig.xml");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. ConfigurationParser cp = new ConfigurationParser(warnings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. Configuration config = cp.parseConfiguration(configFile);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. myBatisGenerator.generate(null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1.  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                执行该类中的方法就生成了我们所需要的类:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Mybatis全面详解——下(学习总结)的更多相关文章

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                2. 一、Mybatis配置详解

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mybatis配置详解 XML配置文件层次结构 下图展示了mybatis-config.xml的全部配置元素 properties元素 properties是一个配置属性的元素,让我们能在配置文件的上 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                3. zz详解深度学习中的Normalization,BN/LN/WN

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  详解深度学习中的Normalization,BN/LN/WN 讲得是相当之透彻清晰了 深度神经网络模型训练之难众所周知,其中一个重要的现象就是 Internal Covariate Shift. Ba ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                4. ORM框架对比以及Mybatis配置文件详解

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ORM框架对比以及Mybatis配置文件详解 0.数据库操作框架的历程 (1) JDBC ​ JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                5. SSL/TLS协议详解(下)——TLS握手协议

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  本文转载自SSL/TLS协议详解(下)--TLS握手协议 导语 在博客系列的第2部分中,对证书颁发机构进行了深入的讨论.在这篇文章中,将会探索整个SSL/TLS握手过程,在此之前,先简述下最后这块内容 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                6. 《Node.js开发实战详解》学习笔记

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                7. Mybatis全面详解——上(学习总结)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  原文地址:https://blog.csdn.net/ITITII/article/details/79969447 一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBat ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                8. myBatis foreach详解【转】

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  MyBatis的foreach语句详解 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有 item,index,collection,ope ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                9. MyBatis Generator 详解

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                随机推荐

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. python 数字计算模块 decimal(小数计算)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  from decimal import * a = Decimal('0.1')+Decimal('0.1')+Decimal('0.1')+Decimal('0.3') float(a) >& ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                2. 002 python介绍/解释器安装/变量/常量/内存管理

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  编程语言介绍 机器语言 :直接用计算机二进制指令编写程序,直接控制硬件 汇编语言:用英文标签取代二进制指令编写程序,本质也是直接控制硬件 高级语言:用人能理解的表达方式来编写程序,无需考虑硬件的操作细 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                3. 【习题 8-9 1613】 K-Graph Oddity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 感觉最大度数|1就是最多需要的个数了. 就贪心一下. 然后模拟染色的过程就可以了. (贪心染色就可以了 (看看周围哪个颜色没有,就用 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                4. js17---创建对象:构造函数式和原型组合模式、动态原型模式、稳妥构造函数式

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                5. theme-不同主题资源更改

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1.找到了影响桌面小部件的布局文件packages/apps/Mms$ vim res/layout/widget.xml修改里面的背景颜色属性,可以实现预期效果,至于里面的 <LinearLa ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                6. vue.js最最最最简单实例

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  vue.js最最最最简单实例 一.总结 一句话总结: 1.vue.js实现实现数据的双向绑定用的是什么标记? 双大括号:比如{{message}} 2.vue数据循环输出的标记是什么? 用的是标签的v ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                7. BZOJ1576: [Usaco2009 Jan]安全路经Travel(树链剖分)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i Output * 第1..N-1行: 第i行包含一个数 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                8. STM32 之ADC单次转换模式和连续转换模式

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  一.背景 在STM32中的AD的单通道采样中可以设置成单次转换模式和连续转换模式,如何理解这两个转换模式的区别,通过程序又是怎样实现的? 二.正文 首先理解单次转换模式,即ADC进行单次转换(单样本) ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                9. 【Codeforces Round #455 (Div. 2) C】 Python Indentation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 一个for循环之后. 下一个写代码的地方一是从(x+1,y+1)开始的 然后如果写完了一个simple statement 下次就有 ...

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                10. 计科1111-1114班第一次实验作业(NPC问题——回溯算法、聚类分析)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  实验课安排 地点: 科技楼423 时间:  计科3-4班---15周周一上午.周二下午 计科1-2班---15周周一下午.周二晚上(晚上时间从18:30-21:10) 请各班学委在实验课前飞信通知大家 ...