Spring整合Mycat2的具体过程详解

 更新时间:2023年05月24日 11:48:56   作者:Lonely Faith  
这篇文章主要给大家介绍Springboot整合Mycat2的具体过程,文中有详细的图解过程,感兴趣的小伙伴可以跟着小编一起来学习

Springboot连接Mycat2

环境准备:

http://t.csdn.cn/zRO5v

创建Springboot项目

在这里插入图片描述

1.新建项目:

配置好对应的选项:

在这里插入图片描述

选择好对应的springboot版本,和项目自带的默认依赖:

如果你的环境搭建的时候是按照上面的教程搭建,那么请选择MySQL Drive驱动

在这里插入图片描述

配置Maven:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GxCupYk1-1684724379377)(C:\Users\ubunt\AppData\Roaming\Typora\typora-user-images\1684720903155.png)]

如果下载速度慢,请在Maven的/conf/settings.xml文件中配置国内镜像源

在这里插入图片描述

在这里插入图片描述

等待Mave依赖同步完成。。。。。

在这里插入图片描述

将配置文件改为yml后缀

在这里插入图片描述

  • pom.xml
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.42</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
  • 修改配置文件.yml
server:
  port: 8080
spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: mycat
  # Mycat配置信息
  datasource:
    url: jdbc:mysql://192.168.174.138:8066/TESTDB?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: 123456
    # mybatis是依赖5.*的版本,所以相对于8.*的少个cj;
    driver-class-name: com.mysql.jdbc.Driver
# MyBatis
mybatis:
  type-aliases-package: com.example.bootmycat.dao
  mapper-locations: classpath:/mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true
  • 新建一个实体类
/**
 * @author jigua
 * @version 1.0
 * @className Enterprise
 * @description
 * @create 2022/9/27 16:14
 */
public class Enterprise {
    private Long id;
    private String phone;
    private String name;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
  • 新建一个dao
import com.example.bootmycat.pojo.Enterprise;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * @author jigua
 * @version 1.0
 * @className TestDao
 * @description
 * @create 2022/9/27 16:13
 */
@Mapper
public interface TestDao {
    @Select("select * from enterprise")
    List<Enterprise> selectAll();
    @Insert("insert into enterprise(phone,name) values(#{phone},#{name})")
    int add(Enterprise enterprise);
}
  • 新建一个controller
    • 示例提供一个查询和一个插入方法
import com.example.bootmycat.dao.TestDao;
import com.example.bootmycat.pojo.Enterprise;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.UUID;
/**
 * @author jigua
 * @version 1.0
 * @className TestController
 * @description
 * @create 2022/9/27 16:15
 */
@RestController
@RequestMapping("/test")
public class TestController {
    @Autowired
    private TestDao testDao;
    @GetMapping("/selectAll")
    @ResponseBody
    public List<Enterprise> selectAll() {
        List<Enterprise> enterprises = testDao.selectAll();
        return enterprises;
    }
    @GetMapping("/insert")
    @ResponseBody
    public String insert() {
        Enterprise enterprise = new Enterprise();
        String name = UUID.randomUUID().toString().replaceAll("-", "");
        enterprise.setName(name);
        enterprise.setPhone(name.substring(0, 3));
        int i = testDao.add(enterprise);
        if (i > 0) {
            return "success";
        }
        return "fail";
    }
}

最终文件目录结构图:

在这里插入图片描述

测试插入

  • http://localhost:8080/test/insert

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TCqkzBZJ-1684724379379)(C:\Users\ubunt\AppData\Roaming\Typora\typora-user-images\1684723833644.png)]

多次测试查询

  • http://localhost:8080/test/selectAll
  • 获取一个zhang3,一个li4不同的结果,证明mycat读写分离成功

在这里插入图片描述

在这里插入图片描述

以上就是Spring整合Mycat2的具体过程的详细内容,更多关于Spring整合Mycat2的资料请关注脚本之家其它相关文章!

相关文章

  • SpringMVC 拦截器的使用示例

    SpringMVC 拦截器的使用示例

    这篇文章主要介绍了SpringMVC 拦截器的使用示例,帮助大家更好的理解和学习使用SpringMVC,感兴趣的朋友可以了解下
    2021-04-04
  • Java Bluetooth 蓝牙通讯 BlueCove 扫描附近的蓝牙设备(测试代码)

    Java Bluetooth 蓝牙通讯 BlueCove 扫描附近的蓝牙设备(测试代码)

    BlueCove是一个开源的蓝牙协议栈实现,旨在为Java开发者提供一个全面的、易于使用的API,从而在应用程序中实现蓝牙功能,该项目支持多种操作系统,这篇文章主要介绍了Java Bluetooth 蓝牙通讯 BlueCove 扫描附近的蓝牙设备,需要的朋友可以参考下
    2025-01-01
  • Netty内存池泄漏问题以解决方案

    Netty内存池泄漏问题以解决方案

    这篇文章主要介绍了Netty内存池泄漏问题以解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • mybatis中关于type-aliases-package的使用

    mybatis中关于type-aliases-package的使用

    这篇文章主要介绍了mybatis中关于type-aliases-package的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 在SpringBoot项目中整合拦截器的详细步骤

    在SpringBoot项目中整合拦截器的详细步骤

    在系统中经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中,即平时所说的"权限检测"及"日志记录",下面这篇文章主要给大家介绍了关于在SpringBoot项目中整合拦截器的相关资料,需要的朋友可以参考下
    2022-09-09
  • springboot使用filter获取自定义请求头的实现代码

    springboot使用filter获取自定义请求头的实现代码

    这篇文章主要介绍了springboot使用filter获取自定义请求头的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Java数据类型转换的示例详解

    Java数据类型转换的示例详解

    Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。本文将通过示例详细说说Java中数据类型的转换,感兴趣的可以了解一下
    2022-10-10
  • JAVA导出CSV文件实例教程

    JAVA导出CSV文件实例教程

    这篇文章主要介绍了如何用JAVA导出CSV文件,文中案例代码十分详细,对大家的学习有所帮助,感兴趣的朋友可以了解下
    2020-06-06
  • Java设计模式之策略模式详解

    Java设计模式之策略模式详解

    这篇文章主要为大家详细介绍了Java设计模式之策略模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Spring如何将bean添加到容器中

    Spring如何将bean添加到容器中

    这篇文章主要介绍了Spring如何将bean添加到容器中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论