您的位置:首页 > 编程语言 > Java开发

一个对数据库进行操作的JavaBean(可用于任何数据库和JSP页面中)

2009-05-28 21:47 417 查看
package classes;
import java.sql.*;

public class DB {
public String sql;
public String[] param;
public Connection con=null;
public ResultSet rs;
//数据库初始化,进行加载驱程,数据库连接
public setConnection(String driverName,String jdbcURL,String userName,String password){
try {
Class.forName(driverName);//加载驱程
System.out.println("驱程加载成功");
} catch (java.lang.ClassNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("驱程加载不成功");
}
try {
con = DriverManager.getConnection(jdbcURL,userName,password);
con.setAutoCommit(false);
System.out.println("数据库连接成功");
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
System.out.println("数据库连接不成功");
}
}

//设置查询条件
public void setParam(String[] param){
this.param=param;
}
//设置查询语句
public void setSQL(String sql){
this.sql=sql;
}

//获得查询结果,并返回ResultSet
public ResultSet executeQuery(){
try {
PreparedStatement select_stm = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
if (param!=null) {
for (int i = 0; i < param.length; i++) {
select_stm.setString(i+1, param[i]);
}
}
rs=select_stm.executeQuery();
System.out.println("查询成功");
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
System.out.println("查询不成功");
}
return rs;
}

//进行插,更,删操作
public int execute() throws SQLException,java.io.UnsupportedEncodingException{
int result = 0;
try {
PreparedStatement _stm=con.prepareStatement(sql);
if (param!=null){
for (int i = 0; i < param.length; i++) {
_stm.setString(i+1, param[i]);
}
}
result=_stm.executeUpdate();
_stm.close();
con.commit();
System.out.println("操作成功");
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
con.rollback();
System.out.println("操作不成功");
}
return result;
}

//关闭数据库
public void close(){
if(con!=null){
try {
con.close();
con=null;
} catch (Exception e) {
// TODO: handle exception
System.err.println(e.getMessage());
}
}
}

}

测试代码:

package classes;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Try {

/**
* @param args
*/
public static void main(String[] args) {

String driverName="org.gjt.mm.mysql.Driver";
String jdbcURL="jdbc:mysql://localhost/test";
String userName="root";
String password="198410";
ResultSet rs=null;
String sql="select * from product";
String sql1="insert into product (productName) values ('大型计算机')";
DB db =new DB();
db.setConnection(driverName, jdbcURL, userName, password);
try{
db.setSQL(sql1);
db.execute();
}
catch(Exception e){
}
db.setSQL(sql);
rs=db.executeQuery();
try{
rs.next();
System.out.println("产品的名称"+rs.getString("productName"));
}
catch(SQLException e){
e.printStackTrace();
}
try{
rs.absolute(6);
System.out.println("产品的名称"+rs.getString("productName"));
}
catch(SQLException e){
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐