springboot整合Mybatis(xml)

注解方式实现单表查询还是很方便的,如果是连表查询不建议用注解,推荐用xml。下面我们使用xml实现查询用户的同时,把用户订单查询出来

开发步骤

1:改造pojo

2018-03-04_135332.png

 

2:编写mapper接口

1

public User getUserAndOrdersByUserId(int id);

3:编写mapper配置文件

2018-03-04_135625.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- namespace是命名空间,作用sql语句的隔离,后面还有重要作用 #{}作用就是占位符,相当于jdbc的“?” parameterType:查询的参数类型 

    resultType:查询结果的数据类型,如果时候pojo应该给全路径。 -->

<mapper namespace="com.wendao.demo.mapper.UserMapper">

 

    <resultMap type="user" id="getUserAndOrdersByUserIdMap">

        <id column="userid" property="id" />

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

        <collection property="orders" ofType="orders">

            <id column="oid" property="id" />

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

        </collection>

    </resultMap>

 

 

    <select id="getUserAndOrdersByUserId" resultMap="getUserAndOrdersByUserIdMap">

 

        select `user`.id

        userid,`user`.username,orders.id oid,orders.number from `user`

        LEFT JOIN orders on `user`.id=orders.user_id

        where `user`.id=#{id}

 

    </select>

</mapper>

 

4:在application.properties中配置别名

1

2

#配置别名

mybatis.type-aliases-package=com.wendao.demo.pojo

5:测试

1

2

3

4

5

6

7

8

9

10

11

12

13

@RunWith(SpringRunner.class)

@SpringBootTest

public class Springboot03MybatisApplicationTests {

 

    @Autowired

    private UserMapper userMapper;

     

    @Test

    public void contextLoads5() {

        System.out.println(userMapper.getUserAndOrdersByUserId(28).getOrders().size());

    }

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值