使用的是使用jdbc连接数据库,然后实现数据库之间的来回自由切换,不多说直接上代码请看下面
当然首先要添加对应的maven依赖
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
我是springboot项目我的数据源配置在yum文件中,你们根据自己的情况来配置自己的数据源,我这边只贴出我关于数据源的配置信息
这是mysql的配置信息:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://ip:端口号:/数据库名称?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=true
username: root
password: toot
这是sqlserver的配置信息
dynamic:
datasource:
slave1:
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://id;databasename=TopDB
username: *****
password: *****
因为每次调用很麻烦所以我把数据库连接的方式封装进了工具类里面,便于直接调用
新建一个DEHelp的工具类(导包的话你们直接把sql里面的包全部导入就OK)
public class DBHelp {
//驱动
private final static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//连接名
private final static String url = "你的数据库连接地址";
//用户名
private final static String user = "你的数据库连接名";
//密码
private final static String password = "你的数据库连接密码";
/**
* 得到连接
*/
public static Connection connection() throws ClassNotFoundException, SQLException {
Connection connection = null;
//注册数据驱动
try {
Class.forName(driver);
connection = DriverManager.getConnection(url,user,password);
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
return connection;
}
/**
* 关闭数据连接
*/
public static void closeAll(Connection connection , Statement statement, ResultSet resultSet){
try {
if (null !=connection){
connection.close();
}
if (null !=statement){
statement.close();
}
if (null !=resultSet){
resultSet.close();
}
}catch (SQLException e){
e.printStackTrace();
}
}
}
下面是jdbc的使用方法:
//我把自己的结果集全部封装在一个集合里面,集合里面使用的泛型是实体,这个实体你们根据自己的情况来确定,你们要是不用集合封装可以不用
List<User> list=new ArrayList<User>();
//sql 我这是sqlserver的写法,sqlserver不能有''出现,所以大家注意一下,后面是你要传的条件
String sql ="SELECT * from user cc WHERE cc.TScustomer ="+tscustomer;
//得到连接
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = DBHelp.connection();
statement =connection.createStatement();
resultSet = statement.executeQuery(sql);
if (resultSet.next()){
User user= new User();
//将数据存入实体里面(如果不是集合这边要更改相应的操作哦)
user.setTeamname(resultSet.getString("teamname"));
//将实体add进集合里面去
list.add(user);
}
}catch (SQLException e){
e.printStackTrace();
}finally {
//关闭连接
DBHelp.closeAll(connection,statement,resultSet);
}