mybatis是用于连接MySQL的一个功能件,在微服架构中需要连接MySQL的就是充当原先dao层的服务器。
这个服务器中有接口,还有接口的实现类mapper.xml文件,连接数据库的文件可以是静态资源文件.xml 文件,也可以是直接写入配置文件中的。
mybatis配置完成后应当有一下部件:
-
jar包 ------------> 通过maven仓库进行加载,springcloud集成jar包
-
配置核心文件 mybatis-config.XML(名字是其次) ----------> 通过配置文件进行配置
-
映像实体类(参照SQL数据表) ---------------> 通过配置文件进行指定
-
dao层文件 mapper文件(包括接口类java XML 的SQL映射文件) ------------> 作为静态文件资源进行加载
-
测试类 Junit4 文件(可选) --------------------> 不进行实现
首先梳理一下springcloud的工作顺序:用户通过zuul(网关)访问 静态资源(HTML),通过ajax等方式进行访问
关键配置文件:
在dao层的部署服务器上需要添加:MySQL、mybatis依赖,用于连接数据库。
配置文件:
spring:
application:
name: product
datasource: 这个配置是用来进行数据库连接的
url: jdbc:mysql://localhost:3306/smbms?charactorEncoding=UTF-8
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
server:
port: 4020
eureka:
client:
service-url:
defaultZone: http://localhost:4000/eureka
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml 这个设置是用于关联 **Mapper.xml 文件的
type-aliases-package: entity 这个设置是关联数据表映射实体类的
启动类添加:
package com.example.product;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
@MapperScan("com.example.product.dao") 这个部分用于进行dao层的扫描
public class ProductApplication {
public static void main(String[] args) {
SpringApplication.run(ProductApplication.class, args);
}
}
除了上述文件外,其他内容不用进行改变。
还是依照原先的文件结构进行配置就可以了。
分布式微服框架,各个微服之间的通讯都是通过feign进行实现的,每个微服将分割一个模块,进行处理,模块的接口处添加@RestController 注解进行与其他模块的通讯,启动类里面只需要保证能够 在eureka上进行注册的@EnableEurekaClient 注解就可以了。