摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!

『 公司需要人、产品、业务和方向,方向又要人、产品、业务和方向,方向… 循环』

本文提纲一、前言二、运行 springboot-mybatis-annotation 工程三、springboot-mybatis-annotation 工程配置详解四、小结

运行环境:JDK 7 或 8、Maven 3.0+技术栈:SpringBoot 1.5+、SpringBoot Mybatis Starter 1.2+ 、MyBatis 3.4+

前言

距离第一篇 Spring Boot 系列的博文 3 个月了。《Springboot 整合 Mybatis 的完整 Web 案例》第一篇出来是 XML 配置 SQL 的形式。虽然 XML 形式是我比较推荐的,但是注解形式也是方便的。尤其一些小系统,快速的 CRUD 轻量级的系统。

这里感谢晓春 http://xchunzhao.tk/ 的 Pull Request,提供了 springboot-mybatis-annotation 的实现。

一、运行 springboot-mybatis-annotation 工程

由于这篇文章和 《Springboot 整合 Mybatis 的完整 Web 案例》 类似,所以运行这块环境配置大家参考另外一篇兄弟文章。

然后Application 应用启动类的 main 函数,然后在浏览器访问:

1

http://localhost:8080/api/city?cityName=温岭市

可以看到返回的 JSON 结果:

1

2

3

4

5

6

{

"id": 1,

"provinceId": 1,

"cityName": "温岭市",

"description": "我的家在温岭。"

}

 

三、springboot-mybatis-annotation 工程配置详解

1.pom 添加 Mybatis 依赖

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

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

 

    springboot

    springboot-mybatis-annotation

    0.0.1-SNAPSHOT

    jar

 

    springboot-mybatis-annotation

    Springboot-mybatis :: 整合Mybatis Annotation Demo

 

    

    

        org.springframework.boot

        spring-boot-starter-parent

        1.5.1.RELEASE

    

 

    

        1.2.0

        5.1.39

    

 

    

 

        

        

            org.springframework.boot

            spring-boot-starter-web

        

 

        

        

            org.springframework.boot

            spring-boot-starter-test

            test

        

 

        

        

            org.mybatis.spring.boot

            mybatis-spring-boot-starter

            ${mybatis-spring-boot}

        

 

        

        

            mysql

            mysql-connector-java

            ${mysql-connector}

        

 

        

        

            junit

            junit

            4.12

        

    

 

 

2.在 CityDao 城市数据操作层接口类添加注解 @Mapper、@Select 和 @Results

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/**

* 城市 DAO 接口类

*

* Created by xchunzhao on 02/05/2017.

*/

@Mapper // 标志为 Mybatis 的 Mapper

public interface CityDao {

 

/**

* 根据城市名称,查询城市信息

*

* @param cityName 城市名

*/

@Select("SELECT * FROM city")

// 返回 Map 结果集

@Results({

@Result(property = "id", column = "id"),

@Result(property = "provinceId", column = "province_id"),

@Result(property = "cityName", column = "city_name"),

@Result(property = "description", column = "description"),

})

City findByName(@Param("cityName") String cityName);

}

@Mapper 标志接口为 MyBatis Mapper 接口@Select 是 Select 操作语句@Results 标志结果集,以及与库表字段的映射关系

其他的注解可以看 org.apache.ibatis.annotations 包提供的,如图:

 

可以 git clone 下载工程 springboot-learning-example ,springboot-mybatis-annotation 工程代码注解很详细。 https://github.com/JeffLi1993/springboot-learning-example。

四、小结

注解不涉及到配置,更近贴近 0 配置。再次感谢晓春 http://xchunzhao.tk/ 的 Pull Request~

欢迎扫一扫我的公众号关注 — 及时得到博客订阅哦!— http://www.bysocket.com/ —— https://github.com/JeffLi1993 —

查看原文