首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

数据库的操作,该怎么解决

2012-01-05 
数据库的操作我在做jsp网站和java的小系统时发现在连接数据库,如果每次一个连接数据库时都要写一个连接数

数据库的操作
我在做jsp网站和java的小系统时发现在连接数据库,如果每次一个连接数据库时都要写一个连接数据库的代码,现在我想把连接数据库的代码封装起来.封装以后在使用时只要在开头引入就可以了.
我的问题就是引入以后怎么用?

[解决办法]

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnection {
public static Connection getConnection() {
String drivrename = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dabaseurl = "jdbc:sqlserver://localhost:1433;DatabaseName=mybase";
String dbUser = "sa";
String dbPassword = "fuhui";
Connection con = null;

try {
Class.forName(drivrename);
con = DriverManager.getConnection(dabaseurl, dbUser, dbPassword);
return con;
} catch (java.lang.ClassNotFoundException e) {
System.err.println(e);
} catch (SQLException er) {
System.err.println(er.getMessage());
}

return null;
}


[解决办法]
推荐用数据库连接池,不要自己写代码
[解决办法]
像2楼那样封装一个DBConnection类,下面给一个应用的实例
public class Test{
public static void main(String[] args){
Connection con;
Statement st;
ResultSet rs;
con=DBConnection.getConnection();//直接通过DBConnection类的getConnection方法获得Connection对象
if(con==null){
System.out.println("数据库连接失败");
return;
}
st=con.CreatStatement();
rs=st.executeQuery("select num,name,age from students where num='007'");
while(rs.next()){
System.out.println(rs.getString("num"));
System.out.println(rs.getString("name");
System.out.println(rs.getInt("age"));
}
}

[解决办法]
建议楼主参考apache dbUtils项目,它已经封装了database链接pool管理功能,也可以直接拿来用。

http://commons.apache.org/dbutils/
[解决办法]
推荐3楼..自己要写的话,做成工具类
[解决办法]
应用:

Java code
DataBase db=new DataBase(); if(!db.connect()){  db.connect(); } Statement st; ResultSet rs;  st=con.CreatStatement();     rs=st.executeQuery("select num,name,age from students where num= '007 '");     while(rs.next()){       System.out.println(rs.getString("num"));       System.out.println(rs.getString("name");       System.out.println(rs.getInt("age"));     }
[解决办法]
用数据库联接池,现在实际项目都是使用数据库联接池
[解决办法]
二楼跟你写得很清楚了 数据库链接类都封装好了
//生成链接
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class DBConnection { 
public static Connection getConnection() { 
String drivrename = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
String dabaseurl = "jdbc:sqlserver://localhost:1433;DatabaseName=mybase"; 
String dbUser = "sa"; 
String dbPassword = "fuhui"; 
Connection con = null; 

try { 
Class.forName(drivrename); 
con = DriverManager.getConnection(dabaseurl, dbUser, dbPassword); 
return con; 
} catch (java.lang.ClassNotFoundException e) { 
System.err.println(e); 
} catch (SQLException er) { 
System.err.println(er.getMessage()); 




return null; 



//调用
import 包 .DBConnection 

private Connection con = null; 
PreparedStatement ps = null; 


Connection con = DBConnection.getConnection();//取得链接 

数据库执行完后记得关闭链接
[解决办法]
这样运行效率差,看一下连接池吧。

热点排行