JDBC连接各种数据库方式列表

来源:互联网 发布:知其雄守其雌为天下溪 编辑:程序博客网 时间:2024/05/18 02:20

JDBC连接各种数据库方式列表:

下面罗列了各种数据库使用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() ; 

 

9、看你用哪种jdbc

如果是jdbcOdbc桥

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con = DriverManager.getConnection("jdbc:odbc:数据源名",username,pwd);

 

10、如果是jtds

Class.forName("net.sourceforge.jtds.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://服务器地址:1433/数据库名",username,pwd); 

Notes: 需要先把相关的jar包放到classpath里面才行或者导入引用类文件夹中,要不然Class.forName的时候会报ClassNotFoundException

 

JDBC连接数据库的步骤:

1、加载要连接数据库的驱动程序-----jtds

Class.forName("net.sourceforge.jtds.jdbc.Driver");
注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常,所以要导入jtds-1.2.jar

2、通过驱动程序管理器得到连接实例

String connectionStr = String.format("jdbc:jtds:sqlserver://%s:%d;databaseName=%s;",
    "ServerName", 1433, "DBName", "UserName", "Password"); 

Connection conn=null;
//net.sourceforge.jtds.jdbc.Driver
 conn = DriverManager.getConnection(connectionStr);
注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序
它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)

3、基于连接对象建立处理器对象

Statement statement = conn.createStatement();

4、准备sql命令

  StringBuilder strBuild = new StringBuilder();
  strBuild.append("select top 1 * from dtCRSLogRequest rq left outer join dtCRSLogResponse rs ");
  strBuild.append("on rq.crsLogNumber = rs.crsLogNumber ");
  strBuild.append("where CRSID = 'AirInterface' order by rq.crsLogNumber desc");
  String sqlStr = strBuild.toString();

5、执行命令返回结果集

ResultSet result = null;

result = conn.createStatement().executeQuery(sqlStr);

6、显示结果集

while (result.next())
   {
    System.out.println("***************Start for printing**************************");
    System.out.println("CRSLogNumber: " + result.getString("CRSLogNumber"));
    System.out.println("MeesageType: " + result.getString("CRSID"));
    System.out.println("TransactionType: " + result.getString("TransactionType"));
    System.out.println("TransactionDesc: " + result.getString("TransactionDesc"));
    System.out.println("***************End for printing**************************");
   }

7、关闭资源

    result.close();//关闭记录集 
    statement.close();//关闭处理器对象 
    conn.close();.关闭连接对象

Example:

package database;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class TestDatabase{/** * @param args */public static void main(String[] args){// TODO Auto-generated method stubString connectionStr = String.format("jdbc:jtds:sqlserver://%s:%d;databaseName=%s;","ServerName", 1433, "DBName");StringBuilder strBuild = new StringBuilder();strBuild.append("select top 1 * from dtCRSLogRequest rq left outer join dtCRSLogResponse rs ");strBuild.append("on rq.crsLogNumber = rs.crsLogNumber ");strBuild.append("where CRSID = 'AirInterface' order by rq.crsLogNumber desc");String sqlStr = strBuild.toString();try{Connection conn = null;Class.forName("net.sourceforge.jtds.jdbc.Driver");//net.sourceforge.jtds.jdbc.Driverconn = DriverManager.getConnection(connectionStr);synchronized (conn){Statement statement = conn.createStatement();ResultSet result = null;result = statement.executeQuery(sqlStr);while (result.next()){System.out.println("***************Start for printing**************************");System.out.println("CRSLogNumber: " + result.getString("CRSLogNumber"));System.out.println("MeesageType: " + result.getString("CRSID"));System.out.println("TransactionType: " + result.getString("TransactionType"));System.out.println("TransactionDesc: " + result.getString("TransactionDesc"));System.out.println("***************End for printing**************************");}result.close();statement.close();conn.close();}}catch (ClassNotFoundException e){// TODO Auto-generated catch blocke.printStackTrace();}catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}}}


 

原创粉丝点击