前文回顾:
《Mycat分布式数据库架构》之原理及架构
《Mycat分布式数据库架构》之搭建详解
《Mycat分布式数据库架构》之配置详解
《Mycat分布式数据库架构》之数据切分和读写分离
《Mycat分布式数据库架构》之故障切换
《Mycat分布式数据库架构》之数据切分实战
《Mycat分布式数据库架构》之全局自增ID
《Mycat分布式数据库架构》之ER分片
《Mycat分布式数据库架构》之高可用集群
《Mycat分布式数据库架构》之Mycat管理
1、添加maven依赖
简单使用springboot+mybatis框架来进行演示,创建springboot项目后,在pom.xml文件中引入相关依赖,其实就是使用MySQL数据库驱动来连接mycat,如下。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2、添加配置文件
创建application.yml文件,内容如下:
#设置应用端口
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# Mycat连接
url: jdbc:mysql://192.168.157.129:8066/mycats?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
username: yxc
password: xxxxxx
# MyBatis
mybatis:
type-aliases-package: com.example.springbootmybatismycat.domain
mapper-locations: classpath:/mybatis/*.xml
#sql打印配置
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3、实体类
public class User implements Serializable {
private static final long serialVersionUID = 5088697673359856350L;
private Integer userId;
private String userName;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
4、dao层
具体源码如下:
public interface UserMapper {
List<User> selectUserList();
void addUser(final User user);
}
5、service
创建Service,源码如下:
public interface UserService {
List<User> listUser();
void addUser(final User user);
}
6、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.example.springbootmybatismycat.mapper.UserMapper">
<resultMap type="User" id="UserResult">
<id property="userId" column="id"/>
<result property="userName" column="name"/>
</resultMap>
<select id="selectUserList" parameterType="User" resultMap="UserResult">
select * from tb_user order by ID asc;
</select>
<insert id="addUser" parameterType="User">
insert into tb_user(ID,NAME) values (125,'test');
</insert>
</mapper>
7、Controller
@RestController
@RequestMapping("/cat")
public class UserController {
@Autowired
private UserService userService;
@GetMapping(value = "listUser")
public List<User> listUser() {
return userService.listUser();
}
@GetMapping(value = "addUser")
public String addUser(User user) {
userService.addUser(user);
return "添加成功!";
}
}
运行结果如下所示: