`

一个db.java的简单封装、数据库基本操作(尚学堂)

阅读更多
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
public static Connection getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs", "root" , "root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public static Statement createStmt(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}

public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

/*public static ResultSet executeQuery(Connection conn, String sql) {
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}

// finally {
// close(stmt);
// }


return rs;
}*/

public static int executeUpdate(Connection conn, String sql) {
int ret = 0;
Statement stmt = null;
try {
stmt = conn.createStatement();
ret = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(stmt);
}
return ret;
}

public static PreparedStatement prepareStmt(Connection conn, String sql) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static PreparedStatement prepareStmt(Connection conn, String sql, int autoGeneratedKeys) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql, autoGeneratedKeys);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static void close(Connection conn) {
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}

public static void close(Statement stmt) {
if(stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
}

public static void close(ResultSet rs) {
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
}
}
分享到:
评论

相关推荐

    尚学堂Java笔记.pdf

    尚学堂Java笔记.pdf 本资源主要讲述Java语言的基础知识和应用,包括J2SDK、JRE、JDK、classpath、path、Java应用程序、递归调用...Java语言是一个功能强大且灵活的语言,通过学习和实践可以更好地掌握Java语言的使用。

    java毕业设计——基于java出租车计价器设计与实现(论文+答辩PPT+源代码+数据库).zip

    java毕业设计——基于java出租车计价器设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java出租车计价器设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——基于java出租车计价器设计与...

    基于java的学生成绩管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    综上所述,基于Java的学生成绩管理系统是一个综合性的项目,涵盖了从后端开发到前端展示,从数据库设计到系统部署的各个环节,对于学习和提升Java Web开发技能具有很高的实践价值。通过深入研究和实践,开发者可以...

    java面试题(尚学堂内部培训资源,绝对值得一看)

    一个".java"源文件中是否可以包括多个类(不是内部类)? 可以,但只有一个类可以是公共的(public),且该类名必须与文件名相同。 #### 8. 排序都有哪几种方法? 常见的排序方法有冒泡排序、选择排序、插入排序、...

    基于java的超市积分管理项目设计与实现(项目报告+答辩PPT+源代码+数据库).zip

    3. **JDBC(Java Database Connectivity)**:用于连接和操作数据库的Java API,项目中通过JDBC进行数据库的增删改查操作,实现积分的记录和查询。 4. **SQL(Structured Query Language)**:数据库查询语言,用于...

    基于JAVA的推箱子游戏【尚学堂·百战程序员】.zip

    基于JAVA的推箱子游戏是一个经典的益智游戏,旨在挑战玩家的逻辑思维和操作技巧。这款游戏由尚学堂·百战程序员团队精心设计与开发,采用JAVA语言编写,具有良好的跨平台性和可扩展性。 游戏背景设定在一个迷宫般的...

    2017年尚学堂Java培训课程大纲.docx

    ### 2017年尚学堂Java培训课程大纲解析 #### 第一阶段:JavaSE基础、MySQL数据库应用 ##### 1.1 Java SE基础语法 - **Eclipse开发环境**:介绍Eclipse集成开发环境的基本使用,包括项目创建、源码编辑、编译运行等...

    java 尚学堂坦克大战初版(非图片版)

    这个游戏的代码是根据尚学堂的教学视频逐步编写并经过个人改良的,尽管它并非一个完整的坦克游戏,但对于理解Java编程基础、控制台游戏开发以及基本的游戏逻辑设计具有一定的教学价值。 在这款坦克大战的初版中,...

    尚学堂java教程学习 之 飞机游戏.zip

    使用java开发的游戏项目源码,可用于毕业设计、课程设计、练手学习等

    JAVA简易太阳系模型

    《JAVA简易太阳系模型》是一个基于JAVA编程语言的初级项目,旨在帮助初学者理解JAVA的基础概念和编程逻辑,同时也提供了一个生动有趣的天文模拟场景。该项目是根据尚学堂的课程讲解来设计的,尚学堂是中国知名的IT...

    1.【尚学堂】全新2022版WEB前端HTML5.zip

    【尚学堂】全新2022版WEB前端HTML5.zip是一个专门针对Web前端开发的教程压缩包,尤其聚焦于HTML5技术。HTML5是超文本标记语言(HTML)的最新版本,它在原有的HTML4基础上引入了众多新的特性和改进,以适应现代互联网...

    尚学堂高琪GOF23设计模式代码 + 资料(23设计模式资料+代码分类存储)

    14. **命令模式**:将请求封装为一个对象,使得可以使用不同的请求、队列请求、或者记录请求日志。 15. **解释器模式**:给定一个语言,定义其文法表示,并提供一个解释器,用于处理该语言中的句子。 16. **迭代器...

    尚学堂android开发常用错误集.docx

    尝试将一个已经存在于父视图中的子视图添加到另一个父视图中。在进行添加操作前,需要先从当前的父视图中移除该视图。 **解决方案**: 使用LayoutInflater的`inflate`方法时,传入第三个参数为`false`。这表示不将...

    温故知新,通过学习尚学堂飞机游戏项目,理解Java语言基础知识.zip

    这是一个非常适合初学者或者想要巩固Java基础的开发者进行实践的项目。下面我们将详细解析这个项目及其涉及到的Java知识。 首先,游戏开发通常需要理解面向对象编程(OOP)概念。Java作为一款面向对象的语言,它的...

    基于java博网即时通讯软件的设计与实现【尚学堂·百战程序员】.zip

    基于Java技术的即时通讯软件设计与实现,为开发者提供了一个高效、稳定且可扩展的平台,使得用户能够进行实时的信息交换。下面我们将详细探讨这个主题,包括Java技术的应用、即时通讯软件的设计原理以及实现过程。 ...

    尚学堂_Hibernate3.3.2_项目源码

    其次,Hibernate的Session接口是操作数据库的主要接口,它封装了事务管理和数据库会话。在项目源码中,我们通常会看到`SessionFactory`的获取和`Session`的打开、关闭以及事务的管理。`SessionFactory`是线程安全的...

    hibernate例子程序SSH.part01.rar

    【标签】"hibernate 尚学堂 程序源码"明确了该压缩包的关键信息:首先,它与Hibernate有关,Hibernate是一个强大的对象关系映射(ORM)框架,用于简化Java应用程序的数据库操作;其次,它关联到尚学堂,意味着这些...

    尚学堂hibernate笔记

    6. **建立实体类`Student`**:定义一个简单的Java类,代表数据库中的`student`表。 7. **建立映射文件`Student.hbm.xml`**:根据`Student`类创建映射文件,描述实体类与数据库表之间的关系。 8. **配置日志系统并...

    Java面试宝典2017加强版

    《Java面试宝典2017加强版》是一本专门针对Java面试的复习资料,适合各类IT培训机构的学员,如传智播客、尚学堂...对于准备Java技术面试的程序员来说,本书能提供一个全面的复习框架,并帮助他们加深对Java语言的理解。

Global site tag (gtag.js) - Google Analytics