
package comextranautsshixun2mdbtools;
import javaioIOException;
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
import javautilProperties;
public class DBUtils {
private static Properties p = new Properties();
private static DBUtils d = new DBUtils();
static{
try {
pload(dgetClass()getResourceAsStream("initproperties"));
} catch (IOException e) {
Systemoutprintln("配置文件不存在" + egetMessage());
}
}
public static Connection getConnection() {
Connection con = null;
// 加载配置文件
// 提取配置文件中的项
// 读取配置文件中的数据库连接项
String ip = pgetProperty("ip")trim();
String dbtype = pgetProperty("dbtype")trim();
String dbname = pgetProperty("dbname")trim();
String port = pgetProperty("port")trim();
String username = pgetProperty("username")trim();
String password = pgetProperty("password")trim();
// 判断链接数据库的种类
if (dbtypeequalsIgnoreCase("mysql")) {
// 创建链接
try {
ClassforName("orggjtmmmysqlDriver");
} catch (ClassNotFoundException e) {
Systemoutprintln("mysql驱动未找到" + egetMessage());
}
StringBuffer s = new StringBuffer();
sappend("jdbc:mysql://");
sappend(ip);
sappend(":");
sappend(port);
sappend("/");
sappend(dbname);
sappend("user=");
sappend(username);
sappend("&password=");
sappend(password);
sappend("&useUnicode=true&characterEncoding=gb2312");
// myDB为数据库名
try {
con= DriverManagergetConnection(stoString());
} catch (SQLException e) {
Systemoutprintln("数据库连接项不正确" + egetMessage());
}
}
if (dbtypeequalsIgnoreCase("sqlserver")) {
// 创建链接
try {
ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");
} catch (ClassNotFoundException e) {
Systemoutprintln("sqlserver驱动未找到" + egetMessage());
}
StringBuffer s = new StringBuffer();
sappend("jdbc:microsoft:sqlserver://");
sappend(ip);
sappend(":");
sappend(port);
sappend(";DatabaseName=");
sappend(dbname);
// mydb为数据库
try {
con= DriverManagergetConnection(stoString(),username,password);
} catch (SQLException e) {
Systemoutprintln("数据库连接项不正确" + egetMessage());
}
}
// if (dbtypeequals("oracle")) {
//// 创建链接
// try {
// ClassforName("oraclejdbcdriverOracleDriver");
// } catch (ClassNotFoundException e) {
// Systemoutprintln("oracle数据库驱动未找到" + egetMessage());
// }
// String url="jdbc:oracle:thin:@"+ip+":"+port+":"+dbname;
//// orcl为数据库的SID
// try {
// con= DriverManagergetConnection(url,username,password);
// } catch (SQLException e) {
// Systemoutprintln("数据库连接项不正确" + egetMessage());
// }
// }
return con;
}
public static void close(Connection con,PreparedStatement pstam , ResultSet rs){
if(con != null){
try {
conclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
if(pstam != null){
try {
pstamclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
if(rs != null){
try {
rsclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
}
没顾上看你的 这是我以前用过的
1)连接Oracle 8/8i/9i/10g/11g(thin模式)
ClassforName("oracleJDBCdriverOracleDriver")newInstance();
String url="JDBC:oracle:thin:@localhost:1521:orcl" //orcl为Oracle数据库的SID
String user="test";
String password="test";
Connection con=DriverManagergetConnection(url,user,password);
2)连接DB2数据库
ClassforName("comibmdb2jccDB2Driver");
String url="JDBC:db2://localhost:5000/testDb";/数据库连接串/
String user="test"; String password="test";
Connection con=DriverManagergetConnection(url,user,password);
3)连接MySQL数据库
ClassforName("commysqljdbcDriver");
String url="JDBC:mysql://localhost:8080/testDB";
String user="test"; String password="test";
Connection con=DriverManagergetConnection(url,user,password);
4)连接SQL Server数据库
ClassforName("commicrosoftJDBCsqlserverSQLServerDriver");
String url="JDBC:microsoft:sqlserver://localhost:1433;DatabaseName=testDb";
String user="test"; String password="test";
Connection con=DriverManagergetConnection(url,user,password);
5)连接PostgreSQL数据库
ClassforName("orgpostgresqlDriver");
String url="JDBC:postgresql://localhost/testDb";
String user="test"; String password="test";
Connection con=DriverManagergetConnection(url,user,password);
6)连接Access数据库
ClassforName("sunjdbcodbcJdbcOdbcDriver");
String url="JDBC:odbc:Driver={Microsoft Access Driver (mdb)};DBQ="+applicationgetRealPath("/Data/testDb/mdb");
Connection conn=DriverManagergetConnection(url,"","");
7连接Sybase数据库
ClassforName("comsybaseJDBCSybDriver");
String url="JDBC:sybase:Tds:localhost:5007/testDb";
Properties pro=SystemgetProperties();
proput("user","userId");
proput("password","user_password");
Connection con=DriverManagergetConnection(url,pro);
8连接informix数据库
ClassforName("cominformixJDBCifxDriver");
String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUser;password=testpassword"; Connection con=DriverManagergetConnection(url);
示例:
连接SQL Server2008R2数据库
首先Build Path → 添加外部sqljdbcjar驱动
import javasql;
public class DB {
public static void main(String[] args) throws Exception {
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");
Connection conn = DriverManagergetConnection("jdbc:sqlserver://localhost:1433; DatabaseName=数据库名", "sa", "1234");
Statement stmt = conncreateStatement();
ResultSet rs = stmtexecuteQuery("select from 表名");
while(rsnext()) {
Systemoutprintln("id为:" + rsgetString("id") + "name为:" + rsgetString("name"));
}
Systemoutprintln("数据库连接成功!");
rsclose();
stmtclose();
connclose();
Systemoutprintln("数据库成功关闭!");
}
}
一般的话,一个数据库连接用完之后是要关闭的。
如果是一个项目的话一般使用数据库连接池,如果有多个数据库的话最好是建立多个连接池,这样的话,在系统启动时,一次加载一定数量的连接对象,用完之后放回去。
如果你仅仅需要两个数据库连接对象的话,不如分别创建两个静态全局变量来保存两个数据库的连接对象。
以上就是关于jdbc连接mysql数据库失败的原因全部的内容,包括:jdbc连接mysql数据库失败的原因、mysql是怎么连接数据库服务器、JAVA 使用JDBC连接MYSQL数据库时,连接不同数据库的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)