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>

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

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>

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>

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;}
}

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);}
}

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

至此,一个整合mybatis的springboot项目就构建完毕了。
接下来我们来也“服务”。

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>

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/

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);}
}

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>

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

<spring-cloud.version>Dalston.RELEASE</spring-cloud.version>

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>

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>

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 -------------------------

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. 软件篇:程序员如何提升自己的技能
  2. 控制反转---依赖注入理解
  3. 抽象类与接口的一个程序实现
  4. ansible(5)——使用通配符操作ansible命令
  5. MySQL 如何利用做排序
  6. Codeforces Round #321 (Div. 2) C. Kefa and Park dfs
  7. php mime base64,base64_encode — 使用 MIME base64 对数据进行编码
  8. mysql ignore-columns_坑 - 当insert ignore遇到not null
  9. linux内核sysfs详解【转】
  10. 【田间连着车间、佘太酒业这十年!
  11. PHPCMS 模板调用标签大全
  12. 打印机驱动装上了,却无法正常打印的问题解决方法
  13. SikuliX教程-下载与安装
  14. 杭州电子科技大学计算机科学与技术专业排名,杭州电子科技大学计算机科学与技术研究生专业排名...
  15. adb install 安装错误常见列表
  16. Mac环境配置SSH Key
  17. ECharts之饼状图
  18. 可编程控制、微机接口及微机应用综合实验台
  19. swagger 上传文件 参数_Swagger发送body和formData参数
  20. 产品结构设计的主要内容有哪些?

热门文章

  1. jquery网页在线流程图
  2. 汽车加油问题 --贪心算法
  3. postgis 计算面积
  4. 使用javamail报出:530 Error: A secure connection is requiered(such as ssl). More information at http://se
  5. AWS-Route53服务
  6. 量子计算机对电子商务,“量子产品”系虚假宣传 为何仍能在电商平台销售?...
  7. win10系统cmd运行exe文件
  8. 使用Maven构建WebApp项目
  9. 初识RDMA技术——RDMA概念,特点,协议,通信流程
  10. python画管柱图_汽车电动控制调整转向管柱的制作方法