连接不同数据库service
import java.sql.Connection;
/**
* @Auther: liyue
* @Date: 2018/11/26 19:01
* @Description:
*/
public interface OneDBService {
/**
* 获取链接
*
* @return
*/
Connection getConn();
}
连接不同数据库serviceimpl
import org.springframework.beans.factory.annotation.Value;
import java.sql.*;
/**
* @Auther: liyue
* @Date: 2018/11/26 19:02
* @Description:
*/
public class OneDBServiceImpl implements OneDBService {
@Value("${mysql.driver}")
private String driver;
@Value("${one.db.url}")
private String url;
@Value("${one.db.username}")
private String username;
@Value("${one.db.password}")
private String password;
@Override
public Connection getConn() {
Connection conn = null;
try {
//classLoader,加载对应驱动
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
mysqlService 参数为可变参数,按顺序填入
import java.sql.Connection;
import java.sql.ResultSet;
/**
* @Auther: liyue
* @Date: 2018/11/27 14:43
* @Description:
*/
public interface MysqlService {
/**
* 查询
* @param sql
* @param conn
* @param params
* @return
*/
ResultSet select(String sql, Connection conn, String... params);
}
mysqlServiceImpl
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @Auther: liyue
* @Date: 2018/11/27 14:43
* @Description:
*/
@Service
public class MysqlServiceImpl implements MysqlService {
@Override
public ResultSet select(String sql, Connection conn, String... params) {
ResultSet rs = null;
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setString(i + 1, params[i]);
}
rs = ps.executeQuery();
return rs;
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) { /* ignored */}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) { /* ignored */}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) { /* ignored */}
}
return null;
}
}
}
查询结果解析
try {
while (rs.next()){
// 每循环一次代表换一行
String id = rs.getString("id");
}
}catch (Exception e){
e.printStackTrace();
}
END。