######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);
}
}
© 著作权归作者所有
发表评论