java dbhelper类_java项目使用的DBhelper类

该博客介绍了Java中用于数据库操作的DBHelper类,包括其构造方法、属性和方法。DBHelper类提供了连接数据库、执行SQL查询和更新操作的能力,并且实现了连接和资源的自动关闭。文章详细讲解了如何通过配置文件读取数据库连接信息,以及如何处理带有参数的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.*;

import java.sql.*;

import java.util.*;

import javax.servlet.jsp.jstl.sql.*;

public class DBHelper {

private String sql; //要传入的sql语句

public void setSql(String sql) {

this.sql = sql;

}

private List sqlValues; //sql语句的参数

public void setSqlValues(List sqlValues) {

this.sqlValues = sqlValues;

}

private Connection con; //连接对象

public void setCon(Connection con) {

this.con = con;

}

public DBHelper(){

this.con=getConnection(); //给Connection的对象赋初值

}

/**

* 获取数据库连接

* @return

*/

private Connection getConnection(){

String driver_class=null;

String driver_url=null;

String database_user=null;

String database_password=null;

try {

InputStream fis=this.getClass().getResourceAsStream("/db.properties"); //加载数据库配置文件到内存中

Properties p=new Properties();

p.load(fis);

driver_class=p.getProperty("driver_class"); //获取数据库配置文件

driver_url=p.getProperty("driver_url");

database_user=p.getProperty("database_user");

database_password=p.getProperty("database_password");

Class.forName(driver_class);

con=DriverManager.getConnection(driver_url,database_user,database_password);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}

/**

* 关闭数据库

* @param con

* @param pst

* @param rst

*/

private void closeAll(Connection con,PreparedStatement pst,ResultSet rst){

if(rst!=null){

try {

rst.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(pst!=null){

try {

pst.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(con!=null){

try {

con.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

/**

* 查找

* @param sql

* @param sqlValues

* @return

*/

public Result executeQuery(){

Result result=null;

ResultSet rst=null;

PreparedStatement pst=null;

try {

pst=con.prepareStatement(sql);

if(sqlValues!=null&&sqlValues.size()>0){ //当sql语句中存在占位符时

setSqlValues(pst,sqlValues);

}

rst=pst.executeQuery();

result=ResultSupport.toResult(rst); //一定要在关闭数据库之前完成转换

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

this.closeAll(con, pst, rst);

}

return result;

}

/**

* 增删改

* @return

*/

public int executeUpdate(){

int result=-1;

PreparedStatement pst=null;

try {

pst=con.prepareStatement(sql);

if(sqlValues!=null&&sqlValues.size()>0){ //当sql语句中存在占位符时

setSqlValues(pst,sqlValues);

}

result=pst.executeUpdate();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

this.closeAll(con, pst, null);

}

return result;

}

/**

* 给sql语句中的占位符赋值

* @param pst

* @param sqlValues

*/

private void setSqlValues(PreparedStatement pst,List sqlValues){

for(int i=0;i

try {

pst.setObject(i+1,sqlValues.get(i));

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

import javax.servlet.jsp.jstl.sql.*;包可以在此下载:http://download.youkuaiyun.com/download/friendan/5641319

Java开发程序,使用编辑器编写创建Java项目、类

打开Eclipse 出现界面 工作空间的路径可以选择一个大空间的磁盘存放,点击确定: 创建:程序左上角-文件-新建-JAVA项目 输入项目名(项目名不能为中文),点击完成: 在   包资源管理器中点击 ...

java 项目中几种O实体类的概念

经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应 ...

Eclipse安装配置以及java项目和类的创建

1.Eclipse的安装: 双击此应用程序 进入安装界面 选择下一步 更改路径将此默认路径改为 确定之后下一步更改jre的安装路径 在之前安装的java文件夹下新建一个jre文件夹 将jre安装在里边 ...

Scala:Java 项目中混入scala代码

Spark 是用Scala代码写的.为了调试Spark,做了如下尝试. 1.Eclipse下:Java 项目 ,Using Maven,编写了一个java 版Spark应用. Spark的代码(sca ...

将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

Java开发环境的搭建以及使用eclipse从头一步步创建java项目

一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

用Ant实现Java项目的自动构建和部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值