jdbc连接mysql工具类_jdbc连接MySQL数据库的工具类

package www.csdn.net.news.util;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Properties;

public class JdbcUtil {

private static Connection conn;

private static PreparedStatement pstmt;

private static ResultSet rs;

private JdbcUtil() {

super();

// TODO Auto-generated constructor stub

}

// 连接数据库的操作

public static Connection getConn() {

if (conn == null) {

// 加载属性配置文件

// 创建属性对象

Properties prop = new Properties();

try {

// 加载指定名称的属性文件

prop.load(JdbcUtil.class.getClassLoader().getResourceAsStream(

"jdbc.properties"));

try {

// 根据文件的名称查找类文件

Class.forName(prop.getProperty("driver"));

// 创建连接对象

try {

conn = DriverManager.getConnection(

prop.getProperty("url"),

prop.getProperty("user"),

prop.getProperty("pass"));

System.out.println("连接数据库连接成功");

} catch (SQLException e) {

// TODO Auto-generated catch block

System.out.println("连接数据库失败");

e.printStackTrace();

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

System.out

.println("没有" + prop.getProperty("driver") + "文件");

e.printStackTrace();

}

} catch (IOException e) {

// TODO Auto-generated catch block

System.out.println("属性文件加载出错");

e.printStackTrace();

}

}

return conn;

}

public static void release(ResultSet rs, PreparedStatement pstmt) {

// 释放结果集

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// 释放准备语句

if (pstmt != null) {

try {

pstmt.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

// 更新数据的操作增,删,改要用到的封装方法

public static boolean upDate(String sql, Object[] obj) {

boolean flag = false;

try {

// 准备语句的创建,带有sql命令的对象

pstmt = getConn().prepareStatement(sql);

for (int i = 1; i <= obj.length; i++) {

pstmt.setObject(i, obj[i - 1]);

}

int i = pstmt.executeUpdate();

if (i > 0) {

flag = true;

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

release(rs, pstmt);

}

return flag;

}

// 进行批量删除处理

public static boolean updateBatchDel(String sql, Integer[] ids) {

boolean flag = false;

Connection conn = getConn();

PreparedStatement pstmt = null;

ResultSet rs = null;

try {

conn.setAutoCommit(false);

pstmt = conn.prepareStatement(sql);

for (int i = 0; i < ids.length; i++) {

pstmt.setInt(1, ids[i]);

System.out.println(sql + "---------------" + ids[i]);

pstmt.addBatch();

}

int[] num = pstmt.executeBatch(); // 批量执行

for (int i = 0; i < num.length; i++) {

if (num[i] == 0) {

try {

conn.rollback(); // 进行事务回滚

return flag;

} catch (SQLException ex) {

ex.printStackTrace();

}

}

}

conn.commit();// 提交事务

flag = true;

} catch (SQLException e) {

e.printStackTrace();

} finally {

release(rs, pstmt);

}

return flag;

}

// 根据传入的表的名称,和每页数据得到传入表的所有的页数

// tableName:::::操作的数据表名称

// pagesize::::::每页显示的信息条数

// conn::::::::::XXXXDaoImpl中的连接对象

// pstmt::::::::XXXXDaoImpl中的预处理对象

// rs:::::::::::XXXXDaoImpl中的集合

public static Integer getCountPage(String tableName, Integer pagesize,

Connection conn, PreparedStatement pstmt, ResultSet rs) {

Integer countPage = 0;

String sql = "select count(*) as c from " + tableName;

conn = JdbcUtil.getConn();

try {

pstmt = conn.prepareStatement(sql);

rs = pstmt.executeQuery();

if (rs.next()) {

int countRecord = rs.getInt("c");

countPage = countRecord % pagesize == 0 ? countRecord

/ pagesize : countRecord / pagesize + 1;

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

JdbcUtil.release(rs, pstmt);

}

return countPage;

}

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2013-12-10 14:12

浏览 449

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值