在编写jsp程序时,连接数据库是很重要的一个环节,但是不同的数据库需要加载不同的jar。
我是比较不喜欢繁琐的工作,通常我用系统ODBC连接数据库,其有两个优点:
1、简单方便;
2、方便数据库版本切换。
缺点是移植性不太好,必须在服务器上配置ODBC。
具体方法和代码:
连接数据库的类
----DBConnect .java---
package info_db;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBConnect {
private String url = "";
private Statement sm = null;
private Connection con = null; //使用SQL-SERVER2000认证
private DatabaseMetaData dmd=null;
public DBConnect(){
url="jdbc:odbc:information";//information是我在本地配置连接池OBDC的数据库名
try{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动
}catch(ClassNotFoundException e){
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
con = DriverManager.getConnection(url,"sa","sa");//用户名、密码
dmd = con.getMetaData();
sm = con.createStatement();
}catch(Exception e){}
}
public ResultSet executeQuery(String sql) throws SQLException{
ResultSet rs = null;
rs = sm.executeQuery(sql);
return rs;
}
public boolean executeUpdate(String sql) throws SQLException{
if(sm.executeUpdate(sql)>=0)
return true;
else
return false;
}
public void close(){
try {
if (sm != null) {
sm.close();
sm = null;
}
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void close(ResultSet rs){
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
测试类
Test .java
package info_db;
import java.sql.ResultSet;
public class Test {
public static int[] selectId(){
DBConnect dbc = new DBConnect();
ResultSet rs = null;
int[] a = new int[2];
String sql = "select id from user";
try{
rs = dbc.executeQuery(sql);
int i = 0;
while(rs.next()){
a[i] = rs.getInt(1);
i++;
}
}catch(Exception e){
}finally{
dbc.close(rs);
dbc.close();
}
return a;
}
}