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);

If access with jtds:
dis.db.driver=net.sourceforge.jtds.jdbc.Driver
# JDBC "url" of the DIS database that you are connecting to
dis.db.url=jdbc:jtds:sqlserver://tiv-isc01.cn.ibm.com:1433/DIS1

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连接mysql
//
1.使用Sun的JDBC-ODBC桥驱动程序,语句为:
Class.forName("sun.jdbc.odbc.driver.JdbcOdbcDriver");
然后要设置数据源,设置好后ODBC数据源url为:jdbc:odbc:<数据源名>
连接数据源:DriverManager.getConnection("jdbc:odbc:grade");

2.如果没有用sun的jdbc-odbc桥驱动程序,最直接的方法是把下载的jdbc驱动拷贝到jre\lib\ext目录,就不用设置环境变量,就能用加载驱动,如mysql:
mysql-connector-java-5.0.0-beta-bin.jar拷贝到jre\lib\ext
MysqlDriver.java
import java.sql.*;

public class MysqlDriver{
public static void main(String args[]){
try{
//加载数据库驱动程序类隐式注册驱动程序, mysql也可以用Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Success loading Mysql Driver!");
}catch(Exception ex){
System.out.println("Error loading Mysql Driver!");
}
try{
String name,xuehao,chinese,math,english;
 Connection conn = null;
 Statement stmt = null;
 ResultSet rs = null;

//创建一个Connection实例建立与数据库之间的联系,
conn = DriverManager.getConnection("jdbc:mysql://localhost/vote?user=root&password=******&characterEncoding=gb2312");
System.out.println("Success connect Mysql Database!");

//Statement对象用于将sql语句发送到数据库中
  stmt = conn.createStatement();
  rs = stmt.executeQuery("SELECT * FROM grade");
//ResultSet对象包含符合sql语句所有行,并通过一套get()方法对行中数据的访问。
  while(rs.next()){
 name = rs.getString("name");
 xuehao = rs.getString("num");
 chinese = rs.getString("chinese");
 math = rs.getString("math");
 english = rs.getString("english");
 System.out.println("学号 "+"姓名 "+"语文 "+"数学 "+"英语");
 System.out.println(" "+xuehao+" "+name+" "+chinese+" "+math+" "+english);
 System.out.println();
 }
conn.close();
}catch(SQLException ex){
System.out.println("SQLException:"+ex.getMessage());
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("VendorError:"+ex.getErrorCode());
}
}
}

3.jdbc url参数说明
url格式:jdbc:mysql://[hostname][port]/dbname[?param1=value1][?m2=value2]...
参数名 取值 缺省
user 数据库用户名 无
password 数据库用户口令 无
autoReconnect 当数据库连接丢失时是否自动连接,取值true/false false
maxReconnects 如果autoReconnect为true,此参数为重试次数,缺省为3次 3
initialTimeout 如果autoReconnect为true,此参数为重新连接前等待的秒数 2
maxRows 设置查询时返回的行数,0表示全部 0
useUnicode 是否使用unicode输出,true/false false
characterEncoding 如果useUnicode,该参数制定encoding类型,建议使用8859_1 无
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值