I'll be back!

  Focus on BPM, celebrate PegaRULES Process Commander (PRPC)
posts - 76, comments - 161, trackbacks - 0, articles - 2
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

简单的JDBC连接数据库代码

Posted on 2007-10-24 00:05 zolly 阅读(18618) 评论(2)  编辑  收藏
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() ; 


 


评论

# re: 简单的JDBC连接数据库代码  回复  更多评论   

2007-10-24 10:22 by freeman1984
up 不过代码有点繁琐,方法名需要改进。

# re: 简单的JDBC连接数据库代码  回复  更多评论   

2008-04-27 12:46 by thebye85
Oracle中
Class.forName('oracle.jdbc.driver.OracleDriver').newInstance();

Class.forName('oracle.jdbc.driver.OracleDriver');

都可以吧?有什么区别吗?

只有注册用户登录后才能发表评论。


网站导航: