spring-boot整合Mybatis案例

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 1.运行环境开发工具:intellij ideaJDK版本:1.8项目管理工具:Maven 3.2.52.Maven Plugin管理 1 2 5 4.0.0 6 7 spring-boot-mybaits-xml 8 spring-boot-mybaits-xml 9 1.

1.运行环境

开发工具:intellij idea

JDK版本:1.8

项目管理工具:Maven 3.2.5

2.Maven Plugin管理

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>spring-boot-mybaits-xml</groupId>
 8     <artifactId>spring-boot-mybaits-xml</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11     <parent>
12         <groupId>org.springframework.boot</groupId>
13         <artifactId>spring-boot-starter-parent</artifactId>
14         <version>1.5.6.RELEASE</version>
15     </parent>
16 
17     <dependencies>
18         <!-- spring-boot的web启动的jar包 -->
19         <dependency>
20             <groupId>org.springframework.boot</groupId>
21             <artifactId>spring-boot-starter-web</artifactId>
22         </dependency>
23         <dependency>
24             <groupId>org.springframework.boot</groupId>
25             <artifactId>spring-boot-starter-test</artifactId>
26         </dependency>
27         <!-- Spring Boot 集成MyBatis -->
28         <dependency>
29             <groupId>org.mybatis.spring.boot</groupId>
30             <artifactId>mybatis-spring-boot-starter</artifactId>
31             <version>1.3.1</version>
32         </dependency>
33         <!-- 数据库驱动 -->
34         <dependency>
35             <groupId>mysql</groupId>
36             <artifactId>mysql-connector-java</artifactId>
37             <version>5.1.35</version>
38         </dependency>
39         <!-- druid-->
40         <dependency>
41             <groupId>com.alibaba</groupId>
42             <artifactId>druid</artifactId>
43             <version>1.0.27</version>
44         </dependency>
45     </dependencies>
46 
47     <build>
48         <plugins>
49             <plugin>
50                 <groupId>org.mybatis.generator</groupId>
51                 <artifactId>mybatis-generator-maven-plugin</artifactId>
52                 <version>1.3.5</version>
53                 <executions>
54                     <execution>
55                         <id>Generate MyBatis Artifacts</id>
56                         <goals>
57                             <goal>generate</goal>
58                         </goals>
59                     </execution>
60                 </executions>
61             </plugin>
62             <plugin>
63                 <groupId>org.apache.maven.plugins</groupId>
64                 <artifactId>maven-compiler-plugin</artifactId>
65                 <configuration>
66                     <source>1.7</source>
67                     <target>1.7</target>
68                 </configuration>
69             </plugin>
70         </plugins>
71     </build>
72 
73 
74 
75 </project>
View Code

3.application.properties编写

 1 # 驱动配置信息  
 2 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource  
 3 spring.datasource.url = jdbc:mysql://127.0.0.1:3306/springbootdb
 4 spring.datasource.username = root
 5 spring.datasource.password = root
 6 spring.datasource.driverClassName = com.mysql.jdbc.Driver
 7 
 8 # mybatis
 9 mybatis.type-aliases-package=com.goku.demo.model
10 mybatis.mapper-locations=classpath:mapping/**/*.xml
View Code

4.mybatis.generator代码生成器

generatorConfig.xml修改具体表内容

1         <!-- !!!! Table Configurations !!!! -->
2         <table tableName="user_" domainObjectName="User" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
3                enableUpdateByExample="false"/>
View Code

执行代码生成

 

 查看生成代码 model,mapper,mapping

 

5.service层

UserService接口类编写

 1 package com.goku.demo.service;
 2 
 3 import com.goku.demo.model.UserWithBLOBs;
 4 
 5 /**
 6  * Created by nbfujx on 2017-12-01.
 7  */
 8 public interface UserService {
 9     UserWithBLOBs selectByPrimaryKey(String id);
10 }
View Code

UserServiceImpl接口实现类编写

 1 package com.goku.demo.service.impl;
 2 
 3 import com.goku.demo.mapper.UserMapper;
 4 import com.goku.demo.model.UserWithBLOBs;
 5 import com.goku.demo.service.UserService;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Service;
 8 
 9 /**
10  * Created by nbfujx on 2017-12-01.
11  */
12 @Service("UserService_one")
13 public class UserServiceImpl implements UserService {
14 
15     @Autowired
16     UserMapper userMapper;
17 
18     @Override
19     public UserWithBLOBs selectByPrimaryKey(String id) {
20         return userMapper.selectByPrimaryKey(id);
21     }
22 }
View Code

6.controller层

UserController接口类编写

 1 package com.goku.demo.controller;
 2 
 3 import com.goku.demo.model.UserWithBLOBs;
 4 
 5 /**
 6  * Created by nbfujx on 2017-12-01.
 7  */
 8 public interface UserController {
 9     UserWithBLOBs selectByPrimaryKey(String id);
10 }
View Code

UserControllerImpl接口实现类编写

 1 package com.goku.demo.controller.impl;
 2 
 3 import com.goku.demo.controller.UserController;
 4 import com.goku.demo.model.UserWithBLOBs;
 5 import com.goku.demo.service.UserService;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.beans.factory.annotation.Qualifier;
 8 import org.springframework.web.bind.annotation.PathVariable;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestParam;
11 import org.springframework.web.bind.annotation.RestController;
12 
13 /**
14  * Created by nbfujx on 2017-12-01.
15  */
16 @RestController
17 @RequestMapping("/User")
18 public class UserControllerImpl implements UserController {
19 
20     @Autowired
21     @Qualifier("UserService_one")
22     UserService userservice;
23 
24     @Override
25     @RequestMapping("/{id}")
26     public UserWithBLOBs selectByPrimaryKey(@PathVariable String id) {
27         return userservice.selectByPrimaryKey(id);
28     }
29 }
View Code

7.Application启动类编写

 1 package com.goku.demo;
 2 
 3 import org.mybatis.spring.annotation.MapperScan;
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.autoconfigure.SpringBootApplication;
 6 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 7 import org.springframework.boot.web.servlet.ServletComponentScan;
 8 
 9 /**
10  * Created by nbfujx on 2017/11/20.
11  */
12 // Spring Boot 应用的标识
13 @SpringBootApplication
14 @ServletComponentScan
15 @MapperScan(basePackages="com.goku.demo.mapper")
16 public class DemoApplication {
17 
18     public static void main(String[] args) {
19         // 程序启动入口
20         // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
21         SpringApplication.run(DemoApplication.class,args);
22     }
23 }
View Code

8.在页面上运行

http://localhost:8080/User/test

9.GITHUB地址

https://github.com/nbfujx/springBoot-learn-demo/tree/master/spring-boot-mybaits-xml

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
Java API Spring
Spring5入门到实战------1、Spring5框架概述、入门案例
这篇文章是Spring5框架的入门教程,概述了Spring框架的核心概念和特点,并通过一个创建普通Java类的案例,详细演示了从下载Spring核心Jar包、创建配置文件、编写测试代码到运行测试结果的完整流程,涵盖了Spring IOC容器的使用和依赖注入的基本用法。
Spring5入门到实战------1、Spring5框架概述、入门案例
|
6天前
|
前端开发 Java 数据库连接
一天十道Java面试题----第五天(spring的事务传播机制------>mybatis的优缺点)
这篇文章总结了Java面试中的十个问题,包括Spring事务传播机制、Spring事务失效条件、Bean自动装配方式、Spring、Spring MVC和Spring Boot的区别、Spring MVC的工作流程和主要组件、Spring Boot的自动配置原理和Starter概念、嵌入式服务器的使用原因,以及MyBatis的优缺点。
|
5天前
|
Java 数据库连接 mybatis
基于SpringBoot+MyBatis的餐饮点餐系统
本文介绍了一个基于SpringBoot和MyBatis开发的餐饮点餐系统,包括系统的主控制器`IndexController`的代码实现,该控制器负责处理首页、点餐、登录、注册、订单管理等功能,适用于毕业设计项目。
9 0
基于SpringBoot+MyBatis的餐饮点餐系统
|
5天前
|
XML SQL JavaScript
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作
这篇文章介绍了如何在Vue页面中结合SpringBoot、MyBatis、ElementUI和ECharts,实现从数据库获取数据并展示为图表的过程,包括前端和后端的代码实现以及遇到的问题和解决方法。
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作
|
6天前
|
SQL Java 数据库连接
springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、
这篇文章介绍了在Spring Boot + MyBatis + Shiro项目中,如何使用Shiro框架实现登录用户的权限验证,包括用户、角色和权限表的设计,以及通过多个表查询来收集和验证用户权限的方法和代码实现。
springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、
|
19天前
|
XML Java 数据库连接
Spring Boot集成MyBatis
主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。在实际项目中,建议根据实际情况来确定使用哪种方式,一般 xml 和注解都在用。
|
4天前
|
JavaScript Java 数据库
Vue+SpringBoot+ElementUi+mybatis-plus 实现用户信息的修改及模拟充值
这篇文章展示了如何使用Vue结合SpringBoot、ElementUI和mybatis-plus实现用户信息的修改以及模拟充值的功能。文章首先介绍了模拟充值的过程,包括充值前后的账户余额和数据库信息的截图。然后,文章展示了用户信息修改前后的界面和数据库信息。核心代码部分演示了如何使用mybatis-plus轻松实现用户信息的修改操作,同时指出了异常处理和代码组织的最佳实践。
|
4天前
|
Java API Spring
Spring5入门到实战------1、Spring5框架概述、入门案例
这篇文章是Spring5框架的入门教程,概述了Spring框架的核心概念和特点,并通过一个创建普通Java类的案例,详细演示了从下载Spring核心Jar包、创建配置文件、编写测试代码到运行测试结果的完整流程,涵盖了Spring IOC容器的使用和依赖注入的基本用法。
|
5天前
|
前端开发 JavaScript Java
解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息
该博客文章讲述了如何在Spring Boot + Vue + MyBatis的项目中实现后台数据的分页查询,并在前端进行显示和页码跳转,包括后端的分页查询实现、前端与后端的交互以及使用Element UI进行分页展示的方法。
|
7天前
|
Java 关系型数据库 数据库连接