Springboot 整合 Mybatis

一、运行 springboot-mybatis 工程

下载工程  springboot-learning-example 
1.数据库准备
a.创建数据库 springbootdb:
1
CREATE DATABASE springbootdb;
b.创建表 city :(因为我喜欢徒步)
1
2
3
4
5
6
7
8
DROP TABLE IF EXISTS  `city`;
CREATE TABLE `city` (
   ` id ` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '城市编号' ,
   `province_id` int(10) unsigned  NOT NULL COMMENT '省份编号' ,
   `city_name` varchar(25) DEFAULT NULL COMMENT '城市名称' ,
   `description` varchar(25) DEFAULT NULL COMMENT '描述' ,
   PRIMARY KEY (` id `)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
c.插入数据
1
INSERT city VALUES (1 ,1, '温岭市' , 'BYSocket 的家在温岭。' );
2. 项目结构介绍
项目结构如下图所示:
org.spring.springboot.controller – Controller 层
org.spring.springboot.dao – 数据操作层 DAO
org.spring.springboot.domain – 实体类
org.spring.springboot.service – 业务逻辑层
Application – 应用启动类
application.properties – 应用配置文件,应用启动会自动读取配置
3.改数据库配置
打开 application.properties 文件, 修改相应的数据源配置,比如数据源地址、账号、密码等。(如果不是用 MySQL,自行添加连接驱动 pom,然后修改驱动名配置。)
4.编译工程
在项目根目录 springboot-learning-example,运行 maven 指令:
1
mvn clean install
5.运行工程

右键运行 Application 应用启动类的 main 函数,然后在浏览器访问:

1
http: //localhost :8080 /api/city ?cityName=温岭市
可以看到返回的 JSON 结果:
1
2
3
4
5
6
{
    "id" : 1,
    "provinceId" : 1,
    "cityName" : "温岭市" ,
    "description" : "我的家在温岭。"
}
如图:

二、springboot-mybatis 工程配置详解

1.pom 添加 Mybatis 依赖
1
2
3
4
5
6
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot< /groupId >
    <artifactId>mybatis-spring-boot-starter< /artifactId >
    <version>${mybatis-spring-boot}< /version >
< /dependency >
mybatis-spring-boot-starter 工程依赖如图:
整个工程的 pom.xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?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< /artifactId >
     <version>0.0.1-SNAPSHOT< /version >
     <name>springboot-mybatis :: 整合 Mybatis Demo< /name >
 
     <!-- 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.在 application.properties 应用配置文件,增加 Mybatis 相关配置
1
2
3
## Mybatis 配置
mybatis.typeAliasesPackage=org.spring.springboot.domain
mybatis.mapperLocations=classpath:mapper/*.xml
mybatis.typeAliasesPackage 配置为 org.spring.springboot.domain,指向实体类包路径。mybatis.mapperLocations 配置为 classpath 路径下 mapper 包下,* 代表会扫描所有 xml 文件。
mybatis 其他配置相关详解如下:
mybatis.config = mybatis 配置文件名称
mybatis.mapperLocations = mapper xml 文件地址
mybatis.typeAliasesPackage = 实体类包路径
mybatis.typeHandlersPackage = type handlers 处理器包路径
mybatis.check-config-location = 检查 mybatis 配置是否存在,一般命名为 mybatis-config.xml
mybatis.executorType = 执行模式。默认是 SIMPLE
3.在 Application 应用启动类添加注解 MapperScan
Application.java 代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
  * Spring Boot 应用启动类
  *
  * Created by bysocket on 16 /4/26 .
  */
// Spring Boot 应用的标识
@SpringBootApplication
// mapper 接口类扫描包配置
@MapperScan( "org.spring.springboot.dao" )
public class Application {
 
    public static void main(String[] args) {
        // 程序启动入口
        // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
        SpringApplication.run(Application.class,args);
    }
}
mapper 接口类扫描包配置注解 MapperScan :用这个注解可以注册 Mybatis mapper 接口类。
4.添加相应的 City domain类、CityDao mapper接口类

City.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/**
  * 城市实体类
  *
  * Created by bysocket on 07 /02/2017 .
  */
public class City {
 
     /**
      * 城市编号
      */
     private Long id ;
 
     /**
      * 省份编号
      */
     private Long provinceId;
 
     /**
      * 城市名称
      */
     private String cityName;
 
     /**
      * 描述
      */
     private String description;
 
     public Long getId() {
         return id ;
     }
 
     public void setId(Long id ) {
         this. id = id ;
     }
 
     public Long getProvinceId() {
         return provinceId;
     }
 
     public void setProvinceId(Long provinceId) {
         this.provinceId = provinceId;
     }
 
     public String getCityName() {
         return cityName;
     }
 
     public void setCityName(String cityName) {
         this.cityName = cityName;
     }
 
     public String getDescription() {
         return description;
     }
 
     public void setDescription(String description) {
         this.description = description;
     }
}
CityDao.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
  * 城市 DAO 接口类
  *
  * Created by bysocket on 07 /02/2017 .
  */
public interface CityDao {
 
     /**
      * 根据城市名称,查询城市信息
      *
      * @param cityName 城市名
      */
     City findByName(@Param( "cityName" ) String cityName);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值