DBAccess.java
package database;
import java.sql.*;
/**
* @author Administrator
*
*/
public class DBAccess {
private Connection m_conn;
private Statement m_stmt;
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;databasename=sc";
String uName = "sa";
String uPwd = "sa";
/**
*
*/
public DBAccess() {
this.setDriver(driver);
this.setConnection(url, uName, uPwd);
}
public DBAccess(String driver, String url, String userName, String userPWD) {
try {
m_conn = DriverManager.getConnection(url, userName, userPWD);
m_stmt = m_conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public boolean setDriver(String driver) {
try {
Class.forName(driver);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public boolean setConnection(String url, String userName, String userPWD) {
try {
m_conn = DriverManager.getConnection(url, userName, userPWD);
m_stmt = m_conn.createStatement();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
// 处理查询
public ResultSet sendQuery(String sql) {
try {
ResultSet m_rs = m_stmt.executeQuery(sql);
return m_rs;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
// 处理数据更新
public int sendUpdate(String sql) {
try {
return m_stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
// 测试程序
public static void main(String[] arg) {
DBAccess db = new DBAccess();
String sql = "select * from Student";
ResultSet rs = db.sendQuery(sql);
try {
if (rs != null) {
while (rs.next()) {
System.out.println(rs.getInt("Sno") + " "
+ rs.getString("Sname"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)
Class.forName('oracle.jdbc.driver.OracleDriver').newInstance();
String url='jdbc:oracle:thin:@localhost:1521:orcl'; //orcl为数据库的SID
String user='test';
String password='test';
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName('com.ibm.db2.jdbc.app.DB2Driver ').newInstance();
String url='jdbc:db2://localhost:5000/sample'; //sample为你的数据库名
String user='admin';
String password='';
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName('com.microsoft.jdbc.sqlserver.SQLServerDriver').newInstance();
String url='jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb';
//mydb为数据库
String user='sa';
String password='';
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName('com.sybase.jdbc.SybDriver').newInstance();
String url =' jdbc:sybase:Tds:localhost:5007/myDB';//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put('user','userid');
SysProps.put('password','user_password');
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName('com.informix.jdbc.IfxDriver').newInstance();
String url = 'jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword'; //myDB为数据库名
Connection conn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName('org.gjt.mm.mysql.Driver').newInstance(); //或者Class.forName('com.mysql.jdbc.Driver');
String url ='jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1'
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName('org.postgresql.Driver').newInstance();
String url ='jdbc:postgresql://localhost/myDB' //myDB为数据库名
String user='myuser';
String password='mypassword';
Connection conn= DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
Class.forName('sun.jdbc.odbc.JdbcOdbcDriver') ;
String url='jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ='+application.getRealPath('/Data/ReportDemo.mdb');
Connection conn = DriverManager.getConnection(url,'','');
Statement stmtNew=conn.createStatement() ;