📄 getdbdata.java~4~
字号:
package myapp;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.lang.*;
import javax.sql.*;
import javax.naming.*;
/**
* <p>获取数据类</p>
*/
public class GetDBData {
public GetDBData() {
}
//获取数据库连接(使用JDBC)
public void getConnect() {
try {
DBConnection dbConnection = new DBConnection();
dbConnection.getConnection();
}
catch (Exception e) {
System.out.println("连接数据库服务器失败!" + e.getMessage());
e.printStackTrace();
}
}
//获取数据库连接(使用连接池)
public void getConnectPool() {
DataSource ds = null;
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/connectDB");
if (ds != null) {
System.out.println("已经获得数据源DataSource!");
}
else {
con = ds.getConnection();
}
}
catch (Exception e) {
e.printStackTrace();
System.out.println(e);
System.out.println("连接数据库服务器出现异常!" + e.getMessage());
}
}
//获取数据
public Vector getData(String sql) {
Vector vect = new Vector();
try {
DBConnection dbConnection = new DBConnection();
dbConnection.getConnection();
PreparedStatement pstm = dbConnection.ps;
ResultSet rs = pstm.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while (rs.next()) {
Hashtable hash = new Hashtable();
for (int i = 1; i <= cols; i++) {
String field = rsmd.getColumnName(i);
String value = rs.getString(i);
hash.put(field, value);
}
vect.add(hash);
}
}
catch (SQLException e) {
System.out.println("查询数据时出错!错误为:" + e);
}
finally {
closeConnect();
}
return vect;
}
//获取数据集
public Vector getResultSetData(ResultSet rs) {
Vector vect = new Vector();
try {
//获取列名和列数
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while (rs.next()) {
Hashtable hash = new Hashtable();
for (int i = 1; i <= cols; i++) {
//FormatString ds = new FormatString();
String field = rsmd.getColumnName(i);
String value = rs.getString(i);
hash.put(field, value);
}
vect.add(hash);
}
}
catch (SQLException e) {
System.out.println("查询数据集时出错!错误为:" + e);
}
return vect;
}
//查询数据1
public ResultSet selectRecord1(String sql) {
try {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (Exception e) {
e.printStackTrace();
}
return rs;
}
//查询数据2
public ResultSet selectRecord(String sql) {
try {
pstm = con.prepareStatement(sql);
rs = pstm.executeQuery();
}
catch (Exception e) {
e.printStackTrace();
}
return rs;
}
//增加数据
public int insertRecord(String sql) {
int num = 0;
try {
stmt = con.createStatement();
stmt.executeUpdate(sql);
}
catch (Exception e) {
e.printStackTrace();
}
return num;
}
//修改数据
public int updateRecord(String sql) {
int num = 0;
try {
stmt = con.createStatement();
stmt.executeUpdate(sql);
}
catch (Exception e) {
e.printStackTrace();
}
return num;
}
//删除数据
public int deleteRecord(String sql) {
int num = 0;
try {
stmt = con.createStatement();
stmt.executeUpdate(sql);
}
catch (Exception e) {
e.printStackTrace();
}
return num;
}
//统计记录数
public int countRecord(String sql) {
int num = 0;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql); //建立查询结果集
while (rs.next()) {
num = rs.getInt(1);
}
}
catch (Exception e) {
e.printStackTrace();
}
return num;
}
//关闭数据库连接并释放资源
public void closeConnect() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (pstm != null) {
pstm.close();
pstm = null;
}
if (con != null) {
con.close();
con = null;
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
con = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -