package cn.org.jshuwei.j2ee.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* Jdbc操作的工具类
*
* @author huwei(jshuwei.org.cn)
* @since 1.0
*
*/
public class JdbcUtil {
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 得到Connection
*
* @since 1.0
* @param dbType
* 数据库类型(oracle/mysql)
* @return 返回Connection
*/
public static Connection getConnection(String dbType) {
String url = "";
String user = "";
String password = "";
if (dbType.equals("oracle")) {
url = "jdbc:oracle:thin:@localhost:6666:XE";
user = "jshuwei";
password = "123456";
}
if (dbType.equals("mysql")) {
url = "jdbc:mysql://localhost:3306/test";
user = "jshuwei";
password = "123456";
}
if (dbType.equals("sqlServer")) {
url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_test";
user = "jshuwei";
password = "123456";
}
try {
return DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 打印记录集对象
*
* @since 1.0
* @param rs
* 需要打印的记录集对象
*/
public static void printRs(ResultSet rs) {
if (rs == null) {
System.out.println("ResultSet is null!");
return;
}
try {
ResultSetMetaData md = rs.getMetaData();
int cols = md.getColumnCount();
for (int i = 1; i <= cols; i++) {
// 列名,类型编号,类型名称
System.out
.println(md.getColumnName(i) + "-->"
+ md.getColumnType(i) + "-->"
+ md.getColumnTypeName(i));
}
System.out.println("=========================================");
while (rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(md.getColumnName(i) + "="
+ rs.getString(i) + "\t");
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 释放资源
*
* @since 1.0
* @param rs
* 需要释放的记录集对象
* @param stmt
* 需要释放的Statement对象
* @param con
* 需要释放的连接对象
*/
public static void release(ResultSet rs, Statement stmt, Connection con) {
if (rs != null)
try {
rs.close();
} catch (Exception e) {
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
if (con != null)
try {
con.close();
} catch (Exception e) {
}
}
/**
* 释放资源
*
* @since 1.0
* @param o
* 需要释放的对象
*/
public static void release(Object o) {
try {
if (o instanceof ResultSet) {
((ResultSet) o).close();
} else if (o instanceof Statement) {
((Statement) o).close();
} else if (o instanceof Connection) {
((Connection) o).close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
J2EE常用工具类—Jdbc操作 J2EE常用工具类—Hibernate操作 J2EE常用工具类—Cookie操作 J2EE常用工具类—数组操作 J2EE常用工具类—时间处理工具类 J2EE常用工具类—文件打包解包处理类 J2EE常用工具类——...
- Hibernate和MyBatis是常用的J2EE ORM(Object-Relational Mapping)框架,它们简化了数据库操作。例如,Hibernate的`Session`接口提供`save()`, `get()`, `update()`, `delete()`等方法,而MyBatis则通过XML配置...
"j2ee常用jar包"这个资源集合了85个常用的jar包,旨在满足一般项目开发的需求。这些jar包覆盖了多个核心领域,包括但不限于数据库访问、持久化、MVC框架、数据校验、网络通信等。现在,我们来详细探讨一下这些标签所...
总结来说,J2EE常用框架包括Spring、Hibernate、MyBatis、Struts和EJB等,这些框架协同工作,为开发者提供了构建大型企业级应用的强大工具。同时,掌握相关开发工具和资源,如IDEA、Maven和MyBatis指南,将极大地...
在J2EE开发中,`jar`(Java Archive)文件扮演了至关重要的角色,它们包含了编译后的Java类、资源文件以及元数据,方便在项目中进行共享和重用。下面我们将深入探讨J2EE中常用的`jar`包以及它们的功能。 1. **...
本篇将重点讨论"j2ee09:jdbc03:jdbc的最后封装(用到了反射)"这一主题,该主题涉及到JDBC的高级使用技巧,特别是如何通过反射来优化和简化数据库操作。 首先,我们来看“jdbc03”的部分。这可能是项目中的一个模块...
本文将深入探讨“j2ee07:jdbc01”中涉及的知识点,包括Properties对象的使用、JDBC的四大参数、批量删除操作以及基本的增删改查操作。 首先,Properties对象在Java中用于存储键值对,它通常被用来保存数据库连接...
9. **Apache Commons**:如commons-lang3.jar、commons-io.jar等,Apache Commons提供了许多实用的工具类和通用功能,如字符串处理、文件操作等。 10. **Log4j或SLF4J**:如log4j.jar、slf4j-api.jar和相应的实现库...
10. **Apache Commons库**:如commons-lang3.jar、commons-io.jar,提供了许多实用的工具类和方法,提高了开发效率。 11. **JSON处理**:如json.jar或gson.jar,用于JSON数据的序列化和反序列化,便于数据交换。 ...
MySQL提供了丰富的命令行工具和图形界面工具来进行数据库管理和操作,常见的基本操作包括: - 启动MySQL服务 - 显示数据库列表:`show databases;` - 使用数据库:`use <数据库名>;` - 显示数据库中的表:`show ...
5. **持久层技术**:J2EE 提供了 JDBC(Java Database Connectivity)用于数据库访问,以及 JPA(Java Persistence API)和 Hibernate 这样的对象关系映射(ORM)框架,简化了数据库操作。 6. **消息传递**:JMS...
JDBCUtil工具类则是对Java Database Connectivity (JDBC) API的封装,简化了数据库的连接、查询、插入、更新和删除等操作。在实际开发中,使用JDBCUtil可以避免重复的数据库连接代码,提高代码复用率,同时减少资源...
在JSP(JavaServer Pages)中,数据库连接可以通过JDBC直接进行,或者使用JDBC-ODBC桥接,但更推荐使用Java Persistence API (JPA) 或 Hibernate 这样的ORM(对象关系映射)工具,它们能简化数据库操作,提高开发...
"j2EE开发jar包大全"这个资源集合了用于j2EE开发的各种关键jar包,涵盖了从数据库连接到SSH(Spring、Struts和Hibernate)框架的常用组件。 首先,我们来看看数据库连接相关的jar包。在j2EE中,通常使用JDBC(Java ...
在J2EE项目中,模型通常由EJB或普通Java类实现,视图是JSP,控制器可能是Servlet或JSF(JavaServer Faces)组件。 5. **JDBC与数据库交互**:JDBC是Java中连接和操作数据库的标准接口。在本项目中,开发者可能使用...
- **数据访问层**:通过JDBC(Java Database Connectivity)连接到数据库,执行SQL语句进行数据操作。 2. **数据库组件** 提供的两个数据库文件`db_BlodMay_Log.LDF`和`db_BlodMay_Data.MDF`是Microsoft SQL ...
掌握JDBC对于开发涉及数据库操作的J2EE应用至关重要。 综上所述,这份教程为学习J2EE提供了全面的知识架构,从基础知识到具体技术的实现,都是J2EE开发者的必备知识。通过学习这份教程,学生不仅可以了解J2EE的历史...
【J2EE开发常用框架详解】 在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是标准的开发平台,用于构建分布式、多层的企业级应用。为了提高开发效率和代码质量,开发者通常会选择使用一些成熟的...