您的位置:首页 > 数据库

数据库连接类

2016-01-14 15:09 381 查看
package com.hj.jdbcconnect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
* @(#)DataBase.java 010/04/22
* @author Dudu
* EST.All rights reserved
*/
public class DataBase {
/**定义一个Connection 用来连接数据库*/
private Connection conn=null;
/**连接数据库的URL*/
private final String url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8";
/**指定数据的用户名和密码*/
private final String username="root";
private final String password="";
/**定义一个int记录更新的记录数量*/
int count=0;
/**定义一个结果集 用于放回查询结果*/
private ResultSet resultSet=null;
private PreparedStatement pstmt=null;
public DataBase(){
conn = connectionDB();
}
/**
* 建立数据的连接
* @exception SQLException, ClassNotFoundException
*/
@SuppressWarnings("finally")
public Connection connectionDB(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,username,password);
System.out.println("连接数据库成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("建立数据库发生错误!");
}finally{
return conn;
}
}
/**
* 查询方法
* @param sql查询sql语句
* @return resultSet
*/
@SuppressWarnings("finally")
public ResultSet query(String sql){
try {
pstmt = conn.prepareStatement(sql);
/**查询*/
resultSet = pstmt.executeQuery();
System.out.println("查询成功");
} catch (SQLException e) {
e.printStackTrace();
}finally{
return resultSet;
}
}

/**
* 更新数据
* @param sql 更新sql语句
* @return
*/
public int update(String sql){
try {
pstmt = conn.prepareStatement(sql);
count=pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("执行更新出错了");
}

return count;

}

/**
* 添加的方法:
* @param   sql
* @return  count
*/
public int add(String sql){
try {
pstmt = conn.prepareStatement(sql);
count=pstmt.executeUpdate(sql);
System.out.println("添加成功");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("执行添加出错了");
}

return count;

}
/**关闭连接*/
public boolean coles(){
boolean isColes = false;
if(resultSet!=null){
try {
resultSet.close();
resultSet=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭结果集发生错误");
}
}
if(pstmt!=null){
try {
pstmt.close();
pstmt=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭pstmt发生异常");
}
}
if(conn!=null){
try{
conn.close();
conn=null;
isColes=true;
}catch (Exception e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭conn发生异常");
}
}
return isColes;
}
/**
* 测试查询的方法
* @throws SQLException
*/
public void testQuery() throws SQLException{
resultSet =query("select name from stu where id=4 ");
if(resultSet.next()){

System.out.println(resultSet.getString(1));
//System.out.println(resultSet.getString(2));

}
}
public void testUpdate(){
count = update("update stu set name='wwww' ,age=22 where id=1" );
if(count>0){
System.out.println("更新成功");
}
}
/**
*
* @param args
* @throws SQLException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws SQLException, ClassNotFoundException {
DataBase db = new DataBase();
//stu stu=new stu();
/**调用查询方法*/
//db.testQuery();
/**调用更新方法*/
//db.testUpdate();
//db.add("insert into stu(id,name,age) values(8,'三',34)");
//db.update("insert into stu (id,name,age) values(3,'wangsan',12)");
//db.testUpdate();
//db.add("insert into stu(id,name,age) values(6,'lisi',34)");
db.update("update stu set name='zhaowu' ,age=1 where id=4");
//db.testQuery();
db.testQuery();
/**调用关闭连接方法*/
db.coles();

}
}

另一种方式:

package com.home.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ConnectionManager {
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/easyui";
public static final String USERNAME = "root";
public static final String PASSWORD = "";

/**
* 通过静态代码块 注册数据库驱动
*/
static{
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

/**
* 获得Connection
*
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
}catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 获得总记录数
* @return
*/
public static int getRows(String queryConditions){
int rows = 0;
Statement sta = null;
ResultSet rs = null;
Connection conn = getConnection();
try {
sta = conn.createStatement();
rs = sta.executeQuery("select * from e_user "+queryConditions);
rs.last();
rows = rs.getRow();
} catch (SQLException e) {
e.printStackTrace();
}
return rows;

}
public static void main(String[] args) {
//System.out.println(getRows());
}

/**
* 关闭ResultSet
* @param rs
*/
public static void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

/**
* 关闭Statement
* @param st
*/
public static void closeStatement(Statement st) {
if (st != null) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

/**
* 关闭Connection
* @param conn
*/
public static void closeConnection(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭全部
* @param rs
* @param sta
* @param conn
*/
public static void closeAll(ResultSet rs,Statement sta,Connection conn){
closeResultSet(rs);
closeStatement(sta);
closeConnection(conn);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: