import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 用于JDBC操作
*
* @author 沙琪玛
*/
public class ByteJDBC {
private String driverName = "oracle.jdbc.driver.OracleDriver";
private String url = "";
private String userName = "";
private String userPwd = "";
/**
* 删除单条数据
*
* @param tableName
* 表名
* @param idName
* idName名称
* @param idValue
* idValue值
*/
public void deleteById(String tableName, String idName, String idValue) {
String sql = "delete from " + tableName + " where " + idName + "='"
+ idValue + "'";
doSQL(sql);
}
/**
* 执行SQL(查询) 并且返回生成结果集表格
*
* @return String
*/
public String selectSQL(String selectSQL) {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
// 用来存放查询的结果
StringBuffer sb = new StringBuffer();
try {
// 加载驱动
Class.forName(driverName);
// 创建连接
conn = DriverManager.getConnection(url, userName, userPwd);
// 创建Statement
st = conn.createStatement();
// 执行sql语句,得到查询结果
rs = st.executeQuery(selectSQL);
// 输出查询结果
int cloNum = rs.getMetaData().getColumnCount();
sb.append("<tr class=\"th\">");
for (int i = 0; i < cloNum; i++) {
sb.append("<td>");
sb.append(rs.getMetaData().getColumnName(i + 1));
sb.append("</td>");
}
sb.append("</tr>");
while (rs.next()) {
sb.append("<tr>");
for (int i = 0; i < cloNum; i++) {
sb.append("<td>");
sb.append(rs.getString(i + 1));
sb.append("</td>");
}
sb.append("</tr>");
}
// 关闭资源
rs.close();
st.close();
conn.close();
} catch (Exception ex) {
// 输出错误信息
ex.printStackTrace();
} finally {
// finally子句总是会执行(就算发生错误),这样可以保证资源的绝对关闭
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return sb.toString();
}
/**
* 执行sql语句(修改、删除,插入)
*/
public void doSQL(String sqlStr) {
Connection conn = null;
Statement st = null;
try {
// 加载驱动
Class.forName(driverName);
// 创建连接
conn = DriverManager.getConnection(url, userName, userPwd);
// 创建Statement
st = conn.createStatement();
// 执行sql语句,得到查询结果
st.execute(sqlStr);
// 关闭资源
st.close();
conn.close();
} catch (Exception ex) {
// 输出错误信息
ex.printStackTrace();
} finally {
// finally子句总是会执行(就算发生错误),这样可以保证资源的绝对关闭
try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
JDBC技术帮助类,包含使用JDBC对数据库进行的增删改查操作的封装方法,适合初学者参考
5.4 StringBuffer类操作 5.4.1 基本操作 5.4.2 字符串操作方法 5.4.3 添加append() 5.4.4 插入insert() 5.5 实例:字符串应用 5.6 本章习题 第6章 数组 6.1 一维数组 6.1.1 数组的概念 6.1.2 一维数组的...
JDBC+连接池–值得一看JDBC的使用增删改查操作JDBC工具类的封装JDBC实现新增数据-插入-insertJDBC实现修改数据-更新–updateJDBC实现删除数据-删除—deleteJDBC实现查询数据-查询—select案例:实现用户登录案例:...
5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的语法 6.2.1 初始化基础类 6.3 合成与继承的结合 6.3.1 确保正确的...
一个已经封装了连接池(可以自定义连接池大小)的jdbc工具类,代码简单清晰,适合java初学者,以便更好更快的熟悉数据库操作。
考生录取查询系统是一个教育单位不可缺少的部分,它的内容对学校的决策者和管理者来说都至关重 要,所以考生录取查询系统应该能够为用户提供充足的信息和快捷的查询手段。 通过本系统,考生可输入姓名和准考证号进行...
面向对象编程:类和对象、继承、封装、多态 异常处理机制 集合框架:List、Set、Map等 输入输出(I/O):文件操作 多线程和并发编程基础 Java基础类库:实用工具类和日期时间API JDBC数据库操作 适用人群 计算机专业...
我把源码提供出来有两个目的一个是希望能帮助比我还初学的初学者熟悉JDBC,另外就是请各位高手不吝赐教,改进程序中的错误如果能将你们的对JDBC的封装方法提供出来那就更好了(不要说你们只用EJB或者Hibernate,JDO...
内容概要 本Jva(Java)学习笔记是一份深入且详尽的...Java初学者:希望从零开始学习Java编程的新手。 在校大学生:计算机科学或相关专业,需要深入理解Java语言。 自学编程爱好者:通过自学提升Java技能的个人。 初级
1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,到底是学习Eclipse好呢,还是学习JBuilder好呢? 21 1.9 本章小结 22 本章练习 22 第2章 ...
一个熟悉这些模式的设计者不需要再去发现它们,而能够立即将它们应用于设计问题中。以下类比可以帮助说明这一点。 小说家和剧本作家很少从头开始设计剧情。他们总是沿袭一些业已存在的模式,像“悲剧性英雄”模式(...
图文并茂很适合初学着学习 下面是课程的目录: 第一篇 基础篇 第1章 Java简介(精彩视频:33分钟) 21 1.1 Java的平台简介 21 1.2 安装工具包 22 1.2.1 下载JDK 22 1.2.2 安装JDK 24 1.2.3 查看与设置环境变量 25 ...
2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...