欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-21 09:36:52
前言 距离第一篇 spring boot 系列的博文 3 个月了。虽然 xml 形式是我比较推荐的,但是注解形式也是方便的。尤其一些小系统,快速的 crud 轻量级的系统...

前言

距离第一篇 spring boot 系列的博文 3 个月了。虽然 xml 形式是我比较推荐的,但是注解形式也是方便的。尤其一些小系统,快速的 crud 轻量级的系统。

这里感谢晓春 的 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 包提供的,如图:

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

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

以上所述是小编给大家介绍的spring boot 整合 mybatis annotation 注解的完整 web 案例,希望对大家有所帮助