Spring Boot 整合 Mybatis Annotation 註解的完整 Web 案例
摘要: 原創出處 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 工程
然後Application 應用啟動類的 main 函式,然後在瀏覽器訪問:
http://localhost:8080/api/city?cityName=溫嶺市
可以看到返回的 JSON 結果:
{ "id": 1, "provinceId": 1, "cityName": "溫嶺市", "description": "我的家在溫嶺。" }
三、springboot-mybatis-annotation 工程配置詳解
1.pom 新增 Mybatis 依賴
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>springboot</groupId> <artifactId>springboot-mybatis-annotation</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot-mybatis-annotation</name> <description>Springboot-mybatis :: 整合Mybatis Annotation Demo</description> <!-- Spring Boot 啟動父依賴 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> </parent> <properties> <mybatis-spring-boot>1.2.0</mybatis-spring-boot> <mysql-connector>5.1.39</mysql-connector> </properties> <dependencies> <!-- Spring Boot Web 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot Test 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- Spring Boot Mybatis 依賴 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis-spring-boot}</version> </dependency> <!-- MySQL 連線驅動依賴 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector}</version> </dependency> <!-- Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
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 包提供的,如圖:
四、小結
註解不涉及到配置,更近貼近 0 配置。再次感謝曉春 http://xchunzhao.tk/ 的 Pull Request~
歡迎掃一掃我的公眾號關注 — 及時得到部落格訂閱哦!
— http://www.bysocket.com/ —
— https://github.com/JeffLi1993 —