新建工具包以及重命名
把连接数据库这块代码等等进行封装,方便使用
工具类满足可以获取数据库连接以及关闭连接,还可以进行扩展
新建工具包util
新建JDBCUtil_MYSQL.java类
如果你想要重新命名工具包类,在java文件上单击右键/Refactor/Rename
开始编写你的工具类吧!!!!
完整程序
JDBCUtil_MYSQL工具类
静态代码段就是当加载类的时候,就会执行一次,而且只执行一次。
软件设计模式:工厂模式,就是从类中直接调用方法而不需要创建对象。
package util;
import java.sql.*;
/**
* JDBC工具类:主要功能包括【获取连接】【释放JDBC资源】
* @author 沈光阳
*/
public class JDBCUtil_MYSQL {
/* JDBC开发第一步导入数据库驱动包jar */
/* 静态属性,只能在本对象中使用 */
private static String url = "jdbc:mysql://192.168.2.135:3306/guangyang";
/* 静态代码段就是当加载类的时候,就会执行一次,而且只执行一次 */
static {
try {
/* 注册(加载)JDBC驱动 ,加载MySQL的JDBC驱动只需要加载一次即可 */
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 功能:连接数据库
* @param user :用户名
* @param assword :密码
* 返回值:Connection连接类
* 如果能正常连接数据链就返回Connection,若连接失败就返回null
*/
public static Connection getConnection(String user , String password) {
try {
/* 使用驱动管理器,获得一条数据库连接,使用Connector接收这个连接 */
Connection conn = DriverManager.getConnection(url, user, password);
/* 没有抛出异常就返回conn 连接 */
return conn;
} catch (SQLException e) {
e.printStackTrace();
}
/* 返回null证明抛出异常,获取连接失败 */
return null;
}
/**
* 功能:关闭Statement对象,ResuleSet对象以及Connection接口
* 关闭是有先后顺序的,先关闭ResultSet,再关闭Statement,最后关闭Connection
* Connection:建立连接接口类
* Statement:执行SQL语句类
* ResultSet: 执行SQL语句返回一个结果集的类
* @throws SQLException
*/
public static void close(Connection conn,Statement st , ResultSet rs) {
/* 如果输入的对象非空 就关闭相应的类 */
try {
if(rs != null)
rs.close();
} catch (SQLException e) {
System.out.println("close关闭时发生异常");
e.printStackTrace();
}
try {
if(st != null)
st.close();
} catch (SQLException e) {
System.out.println("close关闭时发生异常");
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e) {
System.out.println("close关闭时发生异常");
e.printStackTrace();
}
}
/**
* 功能:关闭Connection接口
* Connection:建立连接接口类
* @throws SQLException
*/
public static void close(Connection conn) {
close(conn, null, null);
}
/**
* 功能:关闭Connection接口和Statement对象
* Connection:建立连接接口类
* Statement:执行SQL语句类
* @throws SQLException
*/
public static void close(Connection conn,Statement st) {
close(conn, st, null);
}
/**
* 功能:关闭Connection接口和ResultSet对象
* Connection:建立连接接口类
* ResultSet: 执行SQL语句返回一个结果集的类
* @throws SQLException
*/
public static void close(Connection conn,ResultSet rt) {
close(conn, null, rt);
}
}
package util;
import java.sql.*;
public class Test {
public static void main(String[] args) {
/*
* 获取与MySQl数据库的连接
* 软件设计模式:工厂模式,就是从类中直接调用方法而不需要创建对象(JDBCUtil_MYSQL.getConnection())
*/
Connection conn = JDBCUtil_MYSQL.getConnection("guangyang","123");
if(conn != null) {
System.out.println("数据库连接成功");
}else {
System.out.println("数据库连接失败");
}
Statement st = null;
try {
st = conn.createStatement();
/* 插入数据SQL语句 */
String sql = "insert into STU values(100,'李四',56)";
/* 执行SQL语句 ,返回影响的行 */
int i = st.executeUpdate(sql);
System.out.println("往STU表格中成功插入数据...");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
/* 关闭连接流 */
JDBCUtil_MYSQL.close(conn,st);
}
}
}