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编程中使用,以提高程序的性能和效率。 在实际开发中,由于JDBC编程较为繁琐,通常会使用一些框架来简化JDBC编程,比如...
总之,"JDBC简单地工具类.rar"是一个适合初学者了解和实践JDBC基础操作的资源,通过阅读和理解其中的代码,可以帮助初学者快速掌握JDBC的基本用法和原理,为进一步学习和使用数据库技术打下基础。
**标题解析:** "JDBC练习小项目用于java初学者" 这个标题表明这是一个针对初学者设计的Java编程练习项目,重点在于JDBC(Java Database Connectivity)的应用。JDBC是Java语言中用来规范客户端程序如何连接和操作...
这个DEMO对于初学者来说是一个很好的实践,通过它,我们可以了解到JDBC操作的基本流程和最佳实践,如使用PreparedStatement防止SQL注入,以及正确关闭资源以避免内存泄漏。同时,封装工具类和回调函数的设计思路也有...
初学者可以通过此项目学习Java面向对象编程的基本概念,如类、对象、封装、继承和多态性。同时,还将接触到Servlet和JSP等Java Web技术,了解它们在处理HTTP请求和展示动态网页中的作用。 其次,MySQL是关系型...
Java初学者在学习Web开发时,常常会接触到JDBC、Servlet和JSP这三个核心技术,它们是构建基于Java的动态Web应用程序的基础。以下是对这些技术的详细介绍: 1. JDBC(Java Database Connectivity): JDBC是Java...
例如,在2005年左右,初学者可能会写出如下代码: ```java // 原始的JDBC操作示例 Connection conn = null; PreparedStatement pstmt = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = ...
Java JDBC包装类是一种为了简化Java数据库连接(JDBC)操作而设计的自定义工具类或框架。在传统的JDBC编程中,我们需要手动编写...对于初学者来说,理解和掌握JDBC的封装概念和实现方式,对于提升编程能力非常有帮助。
### JDBC 连接 Oracle11g ...虽然在实际应用中还需要进一步完善性能优化等方面的工作,但对于初学者来说,这已经是一个很好的起点。通过深入理解并扩展这个框架,开发者可以构建出更加健壮和高效的数据库访问解决方案。
对于Java初学者来说,选择合适的书籍进行学习是至关重要的一步。好的书籍不仅能够帮助我们打下坚实的基础,还能让我们在编程的道路上少走弯路。根据提供的信息,我们可以推测这三本书分别是Java初学者应该阅读的经典...
封装后的JDBC操作通常会更安全、高效,因为它可以处理异常、自动关闭资源,并且通过参数化SQL避免了SQL注入问题。这样的代码不仅简化了开发过程,也使得代码更易于测试和调试。 综上所述,这个“jdbc.rar”压缩包...
这个压缩包文件“StrutsTest”包含了学习Struts2基础功能的实例,特别是对于初学者来说,它提供了增删改查(CRUD)操作以及用户登录功能的实现,同时还涉及了使用JDBC进行数据库连接。 增删改查(CRUD)是任何数据...
JavaWeb后台系统是开发Web应用程序的一种常见方式,尤其适合初学者入门学习。在这个"酷炫javaweb后台系统"中,包含了一些核心的JavaWeb技术和编程理念,如封装、反射和内省等。这些概念是Java编程的重要组成部分,...
综上所述,自封装的JdbcTemplate是一个简化JDBC操作的实用工具,它通过设计模式和面向对象编程,将复杂的数据库交互转化为简单的API调用,降低了开发难度,提高了代码质量。对于初学者而言,这是一个很好的学习和...
Java的通讯录管理系统是一款非常适合初学者实践编程技能的项目,它可以帮助用户存储、管理联系人的姓名、电话号码、电子邮件等信息。在这个系统中,你将学习到如何利用Java语言进行面向对象编程,以及如何实现数据的...
13. **Swing与JavaFX**:基础的GUI编程,包括窗口组件、布局管理器、事件处理等,让初学者能够创建简单的桌面应用。 14. **JDBC数据库编程**:学习如何连接数据库,执行SQL查询,以及处理结果集,理解事务的概念。 ...
【初学者第一个小项目基于JDBC+Oracle实现图书管理系统】是一个经典的编程实践,它涵盖了数据库操作、面向对象设计以及简单的用户交互。在这个项目中,我们将深入理解如何利用Java的JDBC(Java Database ...
随着学习的深入,初学者还可以接触到更高级的主题,如并发编程、JDBC(Java数据库连接)和JavaFX(用于桌面应用开发)等。 总的来说,Java语言入门学习是一个逐步深化的过程,从简单的概念到复杂的框架,都需要时间...
2. **面向对象编程**:理解类和对象的概念,学习如何创建和使用类,包括类的封装、继承和多态性。接口也是Java中实现多态的重要方式。 3. **数组与集合**:掌握一维和多维数组的使用,了解ArrayList、LinkedList、...
Java编程语言是世界上最流行的编程语言之一,尤其适合初学者入门。这个"适合java 初学者的实例"集合,无疑为那些希望通过实践来学习Java的新手提供了宝贵的资源。下面,我们将深入探讨这些实例可能涵盖的知识点,...