import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class DataBaseConnect {
/**
*
* 连接MySQL数据库
* @param USER 用户
* @param PASSWORD 密码
* @param dataBaseName 数据库
* @param port 端口
* @return 连接对象
*/
public static Connection getMySQLConnect(String USER, String PASSWORD, String dataBaseName, String port) {
Connection con = null;
String DbDriver = "com.mysql.jdbc.Driver";
String URL = "jdbc:mysql://localhost:" + port + "/" + dataBaseName + "?characterEncoding=utf8&useSSL=false";
try {
Class.forName(DbDriver);
con = DriverManager.getConnection(URL, USER, PASSWORD);
if (con != null) {
System.out.println("Connect MySQL " + dataBaseName + " Success");
} else {
System.out.println("Connect MySQL " + dataBaseName + " Fail");
}
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
/**
* 使用Windows验证连接SQL Server数据库
*
* 注意;
* 请选择所下载驱动包sqljdbc中 auth 文件夹下x64 x86两文件夹对应好jdk平台 复制其下的 sqljdbc_auth.dll 文件到jdk安装目录下bin文件夹
*
* 否则将会报 “com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。” 异常。
*
* @param dataBaseName 数据库
* @return 连接对象
*/
public static Connection getSQLServerConnectByWindowsAccount(String dataBaseName) {
Connection con = null;
PreparedStatement ps = null;
ResultSet result = null;
String DbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String URL = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;databaseName=" + dataBaseName;
try {
Class.forName(DbDriver);
con = DriverManager.getConnection(URL);
if (con != null) {
System.out.println("Use Windows Authorization Connect " + dataBaseName + " Success");
} else {
System.out.println("Use Windows Authorization Connect " + dataBaseName + " Fail");
}
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
/**
* 使用SQL验证连接SQL Server数据库
* @param dataBaseName 数据库
* @param USER 用户名
* @param PASSWORD 密码
* @return 连接对象
*/
public static Connection getSQLServerConnectBySQLAuthorization(String dataBaseName, String USER, String PASSWORD) {
Connection con = null;
String DbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String URL = "jdbc:sqlserver://localhost:1433;databaseName=" + dataBaseName;
try {
Class.forName(DbDriver);
con = DriverManager.getConnection(URL,USER,PASSWORD);
if (con != null) {
System.out.println("Use SQL Authorization Connect " + dataBaseName + " Success");
} else {
System.out.println("Use SQL Authorization Connect " + dataBaseName + " Fail");
}
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
/**
* 主调用方法:
* 根据实际情况可以删除 然后在别处调用即可
* @param args
*/
public static void main(String[] args) {
// 用户名 密码 数据库 端口(默认3306)
getMySQLConnect("root", "root", "sys", "3307");
// 数据库
getSQLServerConnectByWindowsAccount("tempdb");
// 数据库 用户名(默认sa) 密码 (请确保 服务器属性-安全性 下 服务器身份验证 方式为 SQL Server 和 Windows 身份验证模式)
getSQLServerConnectBySQLAuthorization("tempdb", "sa", "123456");
}
}