java Web访问数据库

来源:互联网 发布:剑网三任务指引软件 编辑:程序博客网 时间:2024/05/16 17:38

此文中的代码主要列出连接数据库的关键代码,其他访问数据库代码省略 

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连接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 无  


来源:http://blog.csdn.net/paomianhu/article/details/1963306

0 0
原创粉丝点击