美文网首页SpringBoot精选Spring Boot
Spring Boot 整合 Mybatis Annotatio

Spring Boot 整合 Mybatis Annotatio

作者: 程序员泥瓦匠 | 来源:发表于2017-05-12 14:32 被阅读288次

    摘要: 原创出处 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 函数,然后在浏览器访问:

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

    可以看到返回的 JSON 结果:

    {

    "id": 1,

    "provinceId": 1,

    "cityName": "温岭市",

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

    }

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

    1.pom 添加 Mybatis 依赖

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

    /**

    * 城市 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 —

    相关文章

      网友评论

        本文标题:Spring Boot 整合 Mybatis Annotatio

        本文链接:https://www.haomeiwen.com/subject/aswztxtx.html