mybatis主要是将sql从代码中剥离出来,配置到配置文件(.xml)中的优秀框架。Springboot可以通过简单的配置,简化了传统的springmvc中很多的配置文件,就可以实现项目的构建。在分布服务的概念中,尤其适用于这种框架。

1.创建数据库表,存入简单数据。

id name
123 张三
02 李四

2.创建springboot项目pxApp

2.1配置pxApp项目的pom.xml


<?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>cn.gbicc</groupId><artifactId>pxApp</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>pxApp</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
  • 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
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

2.2通过application.properties配置数据源等

#springboot+mybatis
#jiazai mybatis peizhi
mybatis.config-location=classpath:mapper/config/mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml#bieming
#mybatis.type-aliases-package=com.pxAppInterface.entity
#shujuyuan
spring.datasource.url=jdbc:mysql://localhost:3062/px_user?useUnicode=true&characterEncoding=UTF-8
#shujuyuan qudong
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2.3配置mybatis-config.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><typeAlias alias="Integer" type="java.lang.Integer" /><typeAlias alias="Long" type="java.lang.Long" /><typeAlias alias="HashMap" type="java.util.HashMap" /><typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /><typeAlias alias="ArrayList" type="java.util.ArrayList" /><typeAlias alias="LinkedList" type="java.util.LinkedList" /></typeAliases>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.4配置*Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--注意命名空间 -->
<mapper namespace="com.pxAppInterface.mapper.UserMapper" ><resultMap id="user" type="com.pxAppInterface.entity.User" ><result column="id" property="Id" jdbcType="VARCHAR" /><result column="name" property="Name" jdbcType="VARCHAR" /></resultMap><select id="getUserp" resultType="com.pxAppInterface.entity.User" parameterType="map">SELECT * FROM user where id=#{Id} </select><select id="getUserpCount" resultType="java.lang.Integer">SELECT count(*) FROM user</select>
</mapper>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

service,dao User类都省略不写了,与以往项目没什么不同。

3.运行及访问

springboot 的强大之处,也体现在了这儿。项目启动无需在tomcat等服务器中,直接通过运行3.2的主函数方法,既可以启动成功。 
访问时的url路径,也要安全简洁的多。只是采取这种方便的路径,Controller的接收参数格式,要做如3.1的改变。

3.1写Controller

package com.pxAppInterface.controller;import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;import com.pxAppInterface.entity.ChapterTab;
import com.pxAppInterface.entity.User;
import com.pxAppInterface.service.ChapterTabService;
import com.pxAppInterface.service.UserService;//相当于@Controller+@ResponseBody
@RestController
public class courseController {//注入service对象@Autowiredprivate UserService userService;@Autowiredprivate ChapterTabService chapterTabService;@RequestMapping("ssm")public User findAll(){Map<String, Object> map = new HashMap<String,Object>();map.put("Id", "123");User u = userService.getUserp(map);return u;}//使用@RestController注解,返回String类型时,返回的就是字符串,不是页面@RequestMapping("/findJsp")public String yeMian(){return "test";}//访问路径http://localhost:8080/findAllFH/资产风险预警@RequestMapping("/findAllFH/{courseName}")public List<ChapterTab>  findAllFH( @PathVariable String courseName){Map<String, Object> map = new HashMap<String,Object>();Map<String, Object> map1 = new HashMap<String,Object>();map1.put("courseName", courseName);List<ChapterTab> chapterList = chapterTabService.getFH(map1);map.put("chapterList",chapterList);return chapterList;}//访问路径http://localhost:8080/findAllFH2/@RequestMapping("/findAllFH2")public List<ChapterTab>  findAllFH2(){Map<String, Object> map = new HashMap<String,Object>();Map<String, Object> map1 = new HashMap<String,Object>();map1.put("courseName", "资产风险预警");List<ChapterTab> chapterList = chapterTabService.getFH(map1);map.put("chapterList",chapterList);return chapterList;}
}
  • 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
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

3.2 启动类

运行此方法,及可通过3.1中的路径访问,并查询出数据

package com.pxAppInterface;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@MapperScan("com.pxAppInterface.mapper")
public class PxAppApplication {public static void main(String[] args) {SpringApplication.run(PxAppApplication.class, args);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

启动后的示例图: 
访问findJsp 无法返回jsp页面,具体访问方法,请看下篇博客。 
 

至此,一个整合mybatis的springboot项目就构建完毕了。

宁波整形医院http://www.lyxcl.org/
宁波整形美容医院http://www.iyestar.com/
接下来我们来也“服务”。

4.构建服务项目testapp-servers

 
新建一个springboot项目,作为服务项目。

4.1 pom.xml

导入spring-cloud-starter-eureka-server和spring-cloud-dependencies

<?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>cn.gbicc</groupId><artifactId>testapp-servers</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>testapp-servers</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR4</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>
  • 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
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77

4.2配置application.properties

配置端口和ip

server.port=8761eureka.instance.hostname=localhost
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone= http://${eureka.instance.hostname}:${server.port}/eureka/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.3启动该项目

package com.theserver;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class TestappServersApplication {public static void main(String[] args) {SpringApplication.run(TestappServersApplication.class, args);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4.4启动后访问

由于application.properties中配置的端口为8761,ip配置的为localhost,所以访问路径为http://localhost:8761/,此时可以看到,红色箭头标记处,并无服务已注册。启动成功。 

5.注入服务

将本文2和2.1中建的pxApp项目,作为注入对象。

5.1 对pxApp项目的pom文件进行更改

1.加入spring-cloud-starter-eureka依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

2.设置spring-cloud-starter-eureka的版本

<spring-cloud.version>Dalston.RELEASE</spring-cloud.version>
  • 1
  • 2

3.加入dependencyManagement

<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type> <scope>import</scope></dependency></dependencies>
</dependencyManagement>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4.更改好的完整pom.xml文件

<?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>cn.gbicc</groupId><artifactId>pxApp</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>pxApp</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Dalston.RELEASE</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type> <scope>import</scope></dependency></dependencies>
</dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
  • 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
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79

5.2在application.properties进行更改

设置端口和服务名字,名字可以设置自己的项目名,也可以随意起。端口号是服务注册后,访问时要用到的,不要跟其他服务重复。我在这里将此次端口号设置为8387

#springboot+mybatis
#jiazai mybatis peizhi
mybatis.config-location=classpath:mapper/config/mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml#bieming
#mybatis.type-aliases-package=com.pxAppInterface.entity
#shujuyuan
spring.datasource.url=jdbc:mysql://120.199.82.51:3062/px_user?useUnicode=true&characterEncoding=UTF-8
#shujuyuan qudong
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root#------------------update -------------------------
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/server.port=8387
spring.application.name=pxApp
#------------------update -------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

5.3给启动类加入@EnableDiscoveryClient注解

加入此注解后再启动,并访问刚刚的服务项目路径 
http://localhost:8761/ 
此时发现pxAPP已被成功注入 

6.访问pxApp服务下的ssm接口

eclipse可以停到pxApp项目,但是不要将testapp-servers项目停掉。 
http://192.168.1.111:8387/ssm 
 
访问成功。

ps:192.168.1.111为注册服务是的本地ip 

SpringBoot~整合mybatis+微服务注册相关推荐

  1. SpringBoot —— 整合mybatis+微服务注册

    mybatis主要是将sql从代码中剥离出来,配置到配置文件(.xml)中的优秀框架.Springboot可以通过简单的配置,简化了传统的springmvc中很多的配置文件,就可以实现项目的构建.在分 ...

  2. SpringBoot集成MyBatis(微服务)

    今天小编介绍的是简单学习springboot后,与mybatis集成所做的CRUD操作的一个微服务.以下是小编对自己做的这个小工程的详解,不足之处还请各位大神多多指教. [项目介绍] 网上书城一个简单 ...

  3. 【Consul教程】2.SpringBoot整合Consul搭建服务注册与发现

    前言 上篇讲到了consul的安装,这篇主要SpringBoot 和consul整合,springcloud 的eureka已经不更新了,可以过渡到consul. 整合 consul的注册中心是安装的 ...

  4. SpringBoot整合Mybatis(高级)

    SpringBoot整合Mybatis(高级) 文章目录 SpringBoot整合Mybatis(高级) 前言 基础环境配置 增删改查 ResultMap 复杂查询 多对一 一对多 动态SQL if ...

  5. 【过程记录】springcloud配置使用Eureka作服务发现组件并进行微服务注册

    Eureka介绍 工具准备 步骤 编写eureka server 编写微服务应用: 查询指定微服务在Eureka上的实例列表 Eureka的自我保护模式 Eureka介绍 Eureka是Netflix ...

  6. 将微服务注册到Eureka Server上

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  7. SpringCloud微服务注册调用入门教程

    关于SpringCloud的相关知识在此不做讨论 , 直接一步步完成一套简单完整的SpringCloud微服务注册与调用的Demo . 1 . 创建一个maven主工程 , 填写工程信息 , Fini ...

  8. 微服务注册中心:Consul——服务注册

    系列文章: 微服务架构:网关概念与 zuul 微服务网关:Spring Cloud Gateway -- Zuul 微服务网关:Spring Cloud Config- 配置中心 微服务网关方案:Ko ...

  9. (一)SpringBoot 整合 MyBatis

    一.工具 IDE:idea.DB:mysql 二.创建SpringBoot工程 在Idea中使用SpringInitializr模板创建SpringBoot工程,依赖选择如下: 这里也可以不选JDBC ...

最新文章

  1. Symbian的内存管理机制
  2. catia 无许可证服务器名称,win10升级2004后CATIA无法连接许可证服务器解决方案(2页)-原创力文档...
  3. “365算法每日学计划”:03打卡-贪心算法
  4. 【MM】SAP委外加工服务验收产生的会计凭证
  5. phpcms mysql配置文件_PhpCms系统设置:config.inc.php文件配置说明
  6. android studio 安装问题,解决Android Studio的安装问题
  7. luogu P1659 养猪 dp 好理解
  8. echarts自定义showlading()样式和文本
  9. python插入排序算法总结
  10. OSChina 周一乱弹 —— 程序猿到底是多有才?
  11. dns辅服务器修复后还不能上网,dns修复后还是不能上网如何解决
  12. 容灾恢复 | 记一次K8S集群中etcd数据快照的备份恢复实践
  13. 关于自己配置电脑的一点心得
  14. JMeter基础系列:接口响应时间
  15. RKMPP库快速上手--(二)MPP关键配置
  16. What Is Time-series Data? 什么是时间序列数据?
  17. Lesson 15 Fifty pence worth of trouble
  18. Java Exer0908 从键盘输入皆为正整数的数组元素,数组长度不确定,请找出数组中重复的数字并输出。
  19. 第一次笔试经历(CVTE)
  20. 特里回归战世界杯 英足总主席力挺 霍奇森已拒绝

热门文章

  1. H3C G3 配置raid和远程管理
  2. JavaSE基础笔记—集合之Collection
  3. webpage vue-cli 脚手架安装搭建
  4. 【VUE】vue-amap高德地图定位以及文本标注
  5. 【HMS Core 6.0全球上线】华为钥匙环服务,打造跨应用跨形态无缝登录体验
  6. 【C语言】UTC时间转换为北京时间
  7. html如何隐藏中间数字,打数字有空格怎么办 键盘打出的数字有空格怎么去掉
  8. [http][ident] ident协议
  9. Python究竟属不属于嵌入式语言?
  10. 配置Mingw64和MSYS2编译环境