一个对数据库进行操作的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();
}
}
}
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();
}
}
}
相关文章推荐
- 从jsp页面中连接数据库并进行相关操作(增删查改)
- 从数据库取出数据在jsp页面上以表格形式呈现,并对表格数据进行分页打印操作。
- 构建一个高可扩展性javabean和jsp连接数据库操作
- [VB.NET]请问一个页面后台中 进行2次数据库读取 上下之间的值怎么传 在线等!!!!!
- 使用jsp javabean 和jdbc实现一个个人信息提交页面
- jsp页面功能是向数据库删除一条记录,如果删除成功,JSP页面上弹出一个提示框告诉用户添删除成功!
- 一个javabean轻松实现对数据库的各种操作
- 在一个jsp页面实现二级下拉框联动,实时读取数据库数据
- 查询数据库客户信息显示在页面并进行相关操作
- 制作一个银行卡用户登录页面,提交后连接数据库进行登录验证,根据验证结果跳转到不同页面
- 你如何使用javaBean操作数据库(摘自www.CnJsp.com)
- 对jsp的一个小结(3)使用JDBC操作数据库
- 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)
- jsp页面中利用jdbc操作数据库关键代码步骤
- Raphaël 是一个小型的 JavaScript 库,用来简化在页面上显示向量图的工作。你可以用它在页面上绘制各种图表、并进行图片的剪切、旋转等操作。
- Struts2框架里面action与前端jsp页面进行交互路径问题---》一个对话框里面有很多超链接,进行相应的跳转
- hadoop超时解决办法context.progress()的作用 假设在map()方法中,你有一个从数据库读取大量数据的操作,是用一个循环来完成的,并且,在读完全部的数据之前,你不会有任何的数据输出
- struts2中从数据库中读取数据,并在JSP页面中遍历保存有JavaBean对象的List对象
- PHP中将对数据库的操作,封装成一个工具类以及学会使用面向对象的方式进行编程
- 整个页面的ajax都执行完以后再进行其他的操作,怎么判断一个图片是否正常显示?