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 stub
String 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.Driver
conn = 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 block
e.printStackTrace();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}