Java开发基础-JDBC-基本使用步骤—03

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

代码改进背景介绍: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);
		}
		
	}

}

执行程序后数据库表中数据变化-[鲁迅 数据已经被删除了]


【事件触发一致性】研究多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识(Matlab代码实现)内容概要:本文围绕多智能体网络中的事件触发一致性问题,研究如何通过分布式事件驱动控制实现有限时间内的共识,并提供了相应的Matlab代码实现方案。文中探讨了事件触发机制在降低通信负担、提升系统效率方面的优势,重点分析了多智能体系统在有限时间收敛的一致性控制策略,涉及系统模型构建、触发条件设计、稳定性与收敛性分析等核心技术环节。此外,文档还展示了该技术在航空航天、电力系统、机器人协同、无人机编队等多个前沿领域的潜在应用,体现了其跨学科的研究价值和工程实用性。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事自动化、智能系统、多智能体协同控制等相关领域的工程技术人员。; 使用场景及目标:①用于理解和实现多智能体系统在有限时间内达成一致的分布式控制方法;②为事件触发控制、分布式优化、协同控制等课题提供算法设计与仿真验证的技术参考;③支撑科研项目开发、学术论文复现及工程原型系统搭建; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注事件触发条件的设计逻辑与系统收敛性证明之间的关系,同时可延伸至其他应用场景进行二次开发与性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值