Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
前言
距離第一篇 Spring Boot 系列的博文 3 個(gè)月了。雖然 XML 形式是我比較推薦的,但是注解形式也是方便的。尤其一些小系統(tǒng),快速的 CRUD 輕量級(jí)的系統(tǒng)。
這里感謝曉春 http://xchunzhao.tk/ 的 Pull Request,提供了 springboot-mybatis-annotation 的實(shí)現(xiàn)。
一、運(yùn)行 springboot-mybatis-annotation 工程
然后Application 應(yīng)用啟動(dòng)類(lèi)的 main 函數(shù),然后在瀏覽器訪問(wèn):
http://localhost:8080/api/city?cityName=溫嶺市
可以看到返回的 JSON 結(jié)果:
{ "id": 1, "provinceId": 1, "cityName": "溫嶺市", "description": "我的家在溫嶺。" }
三、springboot-mybatis-annotation 工程配置詳解
1.pom 添加 Mybatis 依賴(lài)
<?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 啟動(dòng)父依賴(lài) --> <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 依賴(lài) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot Test 依賴(lài) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- Spring Boot Mybatis 依賴(lài) --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis-spring-boot}</version> </dependency> <!-- MySQL 連接驅(qū)動(dòng)依賴(lài) --> <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 城市數(shù)據(jù)操作層接口類(lèi)添加注解 @Mapper、@Select 和 @Results
/** * 城市 DAO 接口類(lèi) * * Created by xchunzhao on 02/05/2017. */ @Mapper // 標(biāo)志為 Mybatis 的 Mapper public interface CityDao { /** * 根據(jù)城市名稱(chēng),查詢(xún)城市信息 * * @param cityName 城市名 */ @Select("SELECT * FROM city") // 返回 Map 結(jié)果集 @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 標(biāo)志接口為 MyBatis Mapper 接口
@Select 是 Select 操作語(yǔ)句
@Results 標(biāo)志結(jié)果集,以及與庫(kù)表字段的映射關(guān)系
其他的注解可以看 org.apache.ibatis.annotations 包提供的,如圖:
可以 git clone 下載工程 springboot-learning-example ,springboot-mybatis-annotation 工程代碼注解很詳細(xì)。 https://github.com/JeffLi1993/springboot-learning-example 。
以上所述是小編給大家介紹的Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Spring整合Mybatis 掃描注解創(chuàng)建Bean報(bào)錯(cuò)的解決方案
- springboot整合mybatis-plus基于注解實(shí)現(xiàn)一對(duì)一(一對(duì)多)查詢(xún)功能
- SpringBoot整合Mybatis注解開(kāi)發(fā)的實(shí)現(xiàn)代碼
- Spring Boot整合mybatis使用注解實(shí)現(xiàn)動(dòng)態(tài)Sql、參數(shù)傳遞等常用操作(實(shí)現(xiàn)方法)
- 詳解SpringBoot 快速整合Mybatis(去XML化+注解進(jìn)階)
- Spring與Mybatis基于注解整合Redis的方法
- 純注解版spring與mybatis的整合過(guò)程
相關(guān)文章
jvm細(xì)節(jié)探索之synchronized及實(shí)現(xiàn)問(wèn)題分析
這篇文章主要介紹了jvm細(xì)節(jié)探索之synchronized及實(shí)現(xiàn)問(wèn)題分析,涉及synchronized的字節(jié)碼表示,JVM中鎖的優(yōu)化,對(duì)象頭的介紹等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-11-11Spring Boot項(xiàng)目中定制攔截器的方法詳解
這篇文章主要介紹了Spring Boot項(xiàng)目中定制攔截器的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10springboot?自定義啟動(dòng)器的實(shí)現(xiàn)
本文主要介紹了springboot?自定義啟動(dòng)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02JNI實(shí)現(xiàn)最簡(jiǎn)單的JAVA調(diào)用C/C++代碼
這篇文章主要介紹了JNI實(shí)現(xiàn)最簡(jiǎn)單的JAVA調(diào)用C/C++代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08java基于C/S模式實(shí)現(xiàn)聊天程序(客戶(hù)端)
這篇文章主要為大家詳細(xì)介紹了java基于C/S模式實(shí)現(xiàn)聊天程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Java transient關(guān)鍵字與序列化操作實(shí)例詳解
這篇文章主要介紹了Java transient關(guān)鍵字與序列化操作,結(jié)合實(shí)例形式詳細(xì)分析了java序列化操作相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-09-09java關(guān)鍵字final用法知識(shí)點(diǎn)
在本篇文章里小編給大家分享的是關(guān)于java關(guān)鍵字final用法知識(shí)點(diǎn)以及相關(guān)實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-09-09