Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例

发布时间 - 2026-01-11 01:06:12    点击率:

前言

距离第一篇 Spring Boot 系列的博文 3 个月了。虽然 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 包提供的,如图:

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

以上所述是小编给大家介绍的Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# spring  # boot整合  # mybatis  # 注解  # spring注解annotation  # Spring整合Mybatis 扫描注解创建Bean报错的解决方案  # springboot整合mybatis-plus基于注解实现一对一(一对多)查询功能  # SpringBoot整合Mybatis注解开发的实现代码  # Spring Boot整合mybatis使用注解实现动态Sql、参数传递等常用操作(实现方法)  # 详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)  # Spring与Mybatis基于注解整合Redis的方法  # 纯注解版spring与mybatis的整合过程  # 温岭  # 小编  # 在此  # 其他的  # 给大家  # 可以看到  # 如图  # 所述  # 给我留言  # 第一篇  # 感谢大家  # 博文  # 疑问请  # 有任何  # 月了  # 晓春  # maven  # gt  # project  # xmlns 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: 如何在IIS中新建站点并配置端口与IP地址?  如何在IIS7中新建站点?详细步骤解析  SQL查询语句优化的实用方法总结  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  如何在新浪SAE免费搭建个人博客?  详解jQuery中的事件  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel如何创建自定义中间件?(Middleware代码示例)  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Python文本处理实践_日志清洗解析【指导】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何快速生成橙子建站落地页链接?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  移动端脚本框架Hammer.js  Laravel怎么为数据库表字段添加索引以优化查询  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Python结构化数据采集_字段抽取解析【教程】  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  深入理解Android中的xmlns:tools属性  如何在服务器上三步完成建站并提升流量?  微信小程序 wx.uploadFile无法上传解决办法  进行网站优化必须要坚持的四大原则  JavaScript中的标签模板是什么_它如何扩展字符串功能  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  如何在Windows服务器上快速搭建网站?  微信小程序 闭包写法详细介绍  如何快速启动建站代理加盟业务?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  使用spring连接及操作mongodb3.0实例  微信公众帐号开发教程之图文消息全攻略  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何实现建站之星域名转发设置?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何用搬瓦工VPS快速搭建个人网站?  北京的网站制作公司有哪些,哪个视频网站最好?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何用已有域名快速搭建网站?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  零基础网站服务器架设实战:轻量应用与域名解析配置指南  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  iOS UIView常见属性方法小结