有了Mycat后端都是Mysql数据库了,对外屏蔽了数据库底层,你压根不知道后端使用的啥数据库
示例代码如下:
package demo.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnOracle {
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws Exception {
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:8066/TESTDB" ;
String username = "root" ;
String password = "root" ;
//jdbc:oracle:thin:@192.168.1.104:1521:ORCL
// String url = "jdbc:oracle:thin:@localhost:8066/TESTDB" ;
// String username = "scott" ;
// String password = "m123" ;
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
// Class.forName("oracle.jdbc.driver.OracleDriver") ;
Connection con =DriverManager.getConnection(url , username , password ) ;
Statement stmt = con.createStatement() ;
ResultSet rs = stmt.executeQuery("SELECT * FROM tab") ;
while(rs.next()){
String name = rs.getString(1) ;
String pass = rs.getString(2) ; // 此方法比较高效
System.out.println(name +"----------"+pass );
}
}
}
备注:
1)操作Oracle使用Oracle驱动竟然不认
2)使用Mysql的驱动竟然可以认出
3)使用Oracle的用户竟然也不认,是因为server中的user标签吗?
<user name="test">
<property name="password">root</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
<user name="root">
<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>