Java连接各种数据库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();
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);
/////////////////////
/////////////////////
利用jdbc进行数据库操作,分为以下几步:
1.载入驱动
格式:Class.forName (<JDBC Driver Class Name>)
E.G.Class.forName("Weblogic.jdbc.mssqlserver4.Driver") 2.联接数据源。
Connection con
以下任选其一
con = DriverManager.getConnection(<url>)
con = DriverManager.getConnection(<url>,<proporties>)
con = DriverManager.getConnection(<url>,<user>,<password>) 3.执行
Statement stmt=con.creatStatement();
----执行存储过程:stmt.execute(<String sql>)
----以批处理方式执行多个语句:stmt.executeBatch()
----更新处理: int updateCount=stmt.executeUpdate(<String sql>)
----查询 ResultSet rs=stmt.executeQuery(<String sql>) 常用的是: while (rs.next())
{}
利用 . PrepairedStatement
优点:不需重新在生成,只要修改参数就可以了,
e.g. PrepairedStatement pstmt1
pstmt1=con.PrepairedStatement("select * from tableName where a=? and b=?")
pstmt1.setString(text1.getText,text2.getText)
ResultSet rs=pstmt1.executeQuery(); 利用 ResultSetMetaData
要取得数据表中的字段数目,类型等,可以利用Result的getMetaData(),返回结果是以ResultSetMetaData对象保存。
e.g.
ResultSet rs =stmt.getResultSet()
ResultSetMetaData rsmd=rs.getMetaData();
//字段数目,
int columeCount=rsmd.getColumnCount()
for (i=1;i<=columnCount;i++)
{
System.out.println(rsmd.getClumnName()) } //以上仅供参考
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();
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);
/////////////////////
/////////////////////
利用jdbc进行数据库操作,分为以下几步:
1.载入驱动
格式:Class.forName (<JDBC Driver Class Name>)
E.G.Class.forName("Weblogic.jdbc.mssqlserver4.Driver") 2.联接数据源。
Connection con
以下任选其一
con = DriverManager.getConnection(<url>)
con = DriverManager.getConnection(<url>,<proporties>)
con = DriverManager.getConnection(<url>,<user>,<password>) 3.执行
Statement stmt=con.creatStatement();
----执行存储过程:stmt.execute(<String sql>)
----以批处理方式执行多个语句:stmt.executeBatch()
----更新处理: int updateCount=stmt.executeUpdate(<String sql>)
----查询 ResultSet rs=stmt.executeQuery(<String sql>) 常用的是: while (rs.next())
{}
利用 . PrepairedStatement
优点:不需重新在生成,只要修改参数就可以了,
e.g. PrepairedStatement pstmt1
pstmt1=con.PrepairedStatement("select * from tableName where a=? and b=?")
pstmt1.setString(text1.getText,text2.getText)
ResultSet rs=pstmt1.executeQuery(); 利用 ResultSetMetaData
要取得数据表中的字段数目,类型等,可以利用Result的getMetaData(),返回结果是以ResultSetMetaData对象保存。
e.g.
ResultSet rs =stmt.getResultSet()
ResultSetMetaData rsmd=rs.getMetaData();
//字段数目,
int columeCount=rsmd.getColumnCount()
for (i=1;i<=columnCount;i++)
{
System.out.println(rsmd.getClumnName()) } //以上仅供参考
使用mysql时要下驱动的,其它的没问题
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class Database extends Object implements java.io.Serializable {
private String driver=null;
private String url=null;
private String user=null;
private String pass=null;
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null; //结果集
public Database() {
}
//连接池
public boolean getConnFromPool(String sourceName){
try{
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup(sourceName);
conn=ds.getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
return true;
}catch(Exception e){
if (stmt!=null){
try{
stmt.close();
}catch(Exception e1){}
}
if (conn!=null){
try{
conn.close();
}catch(Exception e1){}
}
System.out.println(e.getMessage());
return false;
}
}
//连接数据库
public void getConnection(){
driver="oracle.jdbc.driver.OracleDriver";
String connStr = "jdbc:oracle:thin:@127.0.0.1:1521:testdb"; //thin con
url="";
user="sys";
pass="12345";
try{
Class.forName(driver);
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){System.out.println("driver error:");}
try{
conn=DriverManager.getConnection(connStr,user,pass);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}catch(Exception e){
System.out.println("error:"+e.getMessage());
}
}
//关闭连接
public boolean closeConnection(){
try{
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
rs=null;
stmt=null;
conn=null;
return true;
}catch(Exception e){
System.out.println(e.getMessage());
}finally{
if (stmt!=null){
try{
stmt.close();
stmt=null;
}catch(Exception e){}
}
if (conn!=null){
try{
conn.close();
conn=null;
}catch(Exception e){}
}
}
return false;
}
//查询数据库
public ResultSet query(String sql){
try{
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.out.println(e.getMessage());
return null;
}
return rs;
}
// 查询数据库
public void in_query(String sql){
try{
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
//更新数据库
public int update(String sql){
int i=0;
try{
i=stmt.executeUpdate(sql);
}catch(Exception e){
System.out.println(e.getMessage());
}
return i;
}
//插入数据库
public int insert(String sql){
int i=0;
try{
i=stmt.executeUpdate(sql);
}catch(Exception e){
System.out.println(e.getMessage());
}
return i;
}
//测试
public static void main(String[] args){
Database db=new Database();
try{
ResultSet rs=null;
db.getConnection();
String sql="select * from test";
rs=db.query(sql);
while(rs.next()){
System.out.print(rs.getString(1));
System.out.print(" ");
System.out.print(rs.getString(2));
System.out.print(" ");
System.out.print(rs.getString(3));
System.out.println(" ");
}
db.closeConnection();
}catch(Exception e){}
}
}