代码改进背景介绍:V1版本
使用JDBC操作数据库,我们会发现有些固有不变的代码,我们不需要每次都实现一遍,
为了提高代码的复用性与避免编写重复的代码,我们可以将JDBC固有操作封装成一个工具类,
在使用到时调用其中静态方法即可。
/**
* 该类用来管理数据库连接
* @author Cher_du
*
*/
public class DBUtil {
private static String driverClass ="oracle.jdbc.driver.OracleDriver";
private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
private static String user ="learn";
private static String password = "learn";
//1.加载驱动
static{
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("加载驱动错误!",e);
}
}
//2.创建连接
/*
* 如何定义一个创建连接的方法
*
* 返回值类型:
* 是否有运算结果,如果有,
* 结果的类型即为返回值类型。
* 参数列表:
* 功能中,是否有不确定的数据参与运算
* 如果有,即为参数列表
*/
public static Connection getConnection() throws SQLException{
Connection conn = DriverManager.getConnection(url,user,password);
return conn;
}
//3.关闭连接
public static void close(Connection conn){
if(conn !=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭连接错误!",e);
}
}
}
//测试
public static void main(String[] args) throws SQLException {
System.out.println(getConnection());
}
}
我们编写任何一个工具类都要有对应测试用例,以便别人方便快捷的知道如何正确使用。
案例中只是为了方便理解JDBC知识简单的使用了main方法做测试,正规的测试应当使用单元测试框架。(Juint等)
下面我们使用DBUtil工具类演示一下数据库操作:
/**
* 演示:使用DBUtil类删除员工信息
* delete from emp
* where empno = 1000;
* @author Cher_du
*
*/
public class JdbcDemo03 {
public static void main(String[] args) {
Connection conn = null;
try {
conn = DBUtil.getConnection();
Statement stmt = conn.createStatement();
String sql = "delete from emp "+
"where empno = 1000 ";
int count= stmt.executeUpdate(sql);
if(count >0){
System.out.println("删除成功!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(conn);
}
}
}
执行程序后数据库表中数据变化-[鲁迅 数据已经被删除了]

本文介绍了通过封装JDBC操作来提升代码复用性和减少重复工作的方法。具体展示了如何创建数据库连接工具类,并通过示例演示了使用该工具类进行数据库操作的过程。
8750

被折叠的 条评论
为什么被折叠?



