菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
493
0

SB+MyCat mysql主从

原创
05/13 14:22
阅读数 72307

实例

 ######mysql主从######

 

 

######mycat######

1、server.xml
###schemas:TESTDB
<user name="root" defaultAccount="true">
  <property name="password">root</property>
  <property name="schemas">TESTDB</property>

  <!-- 表级 DML 权限设置 -->
  <!--
  <privileges check="false">
    <schema name="TESTDB" dml="0110" >
      <table name="tb01" dml="0000"></table>
      <table name="tb02" dml="1111"></table>
    </schema>
  </privileges>
-->
</user>

<user name="user">
  <property name="password">user</property>
  <property name="schemas">TESTDB</property>
  <property name="readOnly">true</property>
</user>

 

2、schema.xml
  ###schemas:TESTDB
  ###database:TESTDB
  ###dataNode:dn1,dn2
  ###dataHost:localhost1,localhost2

       #####mysql :hostM1 hostM2

 

 

 


<mycat:schema xmlns:mycat="http://io.mycat/">

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>


<dataNode name="dn1" dataHost="localhost1" database="TESTDB" />
<dataNode name="dn2" dataHost="localhost2" database="TESTDB" />


<dataHost name="localhost1" maxCon="1000" minCon="100" balance="2"
  writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  <heartbeat>select user()</heartbeat>
  <writeHost host="hostM1" url="localhost:3306" user="root" password="root">
  </writeHost>
</dataHost>


<dataHost name="localhost2" maxCon="1000" minCon="100" balance="2"
  writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  <heartbeat>select user()</heartbeat>
  <writeHost host="hostM2" url="localhost:3306" user="root" password="root">
  </writeHost>
</dataHost>

 


</mycat:schema>

 

 

 

 

 

 


######springboot############


http://localhost:8081/findAll

 

 

postman

 

 

 

 

1、pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>

 

2、application.properties
# 应用名称
spring.application.name=mycat2
# 应用服务 WEB 访问端口
server.port=8081
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:8066/TESTDB?serverTimezone=UTC
# 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=root
#jpa
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
#spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect

 


3、Entity:Test

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "test")
public class Test {
  @Id
  @GeneratedValue
  private Integer id;
  private String name;


  public Test() {
  }


  public Test(String name) {
    this.name = name;
  }
  public Integer getId() {
    return id;
  }


  public void setId(Integer id) {
    this.id = id;
  }


  public String getName() {
    return name;
  }


  public void setName(String name) {
  this.name = name;
  }


  @Override
  public String toString() {
    return "Test{" +
    "id=" + id +
    ", name='" + name + '\'' +
    '}';
  }


4、Repository:TestRepository

import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface TestRepository extends JpaRepository<Test,Integer> {
  public List<Test> findAll();
}

 

 

5、Controller:TestController

@RestController
public class TestController {
  @Autowired
  private TestRepository testRepository;

 


  @GetMapping("/findAll")
  public List<Test> findAll(){
    return testRepository.findAll();
  }

 

   @PostMapping("/add")
    public Test addTest(Test test){
        return testRepository.save(test);
    }
}

发表评论

0/200
493 点赞
0 评论
收藏
为你推荐 换一批