当前位置: 首页 > news >正文

沧州省建设厅网站一站式海外推广平台

沧州省建设厅网站,一站式海外推广平台,长沙网站se0推广优化公司,网站收录提交入口官网封装DbUtils 工具类 不知道我们发现没有,不管是对数据库进行查询,还是标准的JDBC 步骤,其开端都是先实现JDBC 的加载注册,接着是获取数据库的连接,最后都是实现关闭连接,释放资源的操作。那我们何不直接把…

封装DbUtils 工具类

不知道我们发现没有,不管是对数据库进行查询,还是标准的JDBC 步骤,其开端都是先实现JDBC 的加载注册,接着是获取数据库的连接,最后都是实现关闭连接,释放资源的操作。那我们何不直接把这些每次都重复书写的代码封装成一个工具类呢?

如图,在idea 中JDBC 包 下创建一个子包common,再在子包下创建一个名为 DbUtils 的java类。

image-20230220134009353

DbUtils 类的完整代码如下:

public class DbUtils {/*** 创建新的数据库连接* @return 新的Connection对象* @throws SQLException* @throws ClassNotFoundException*/public static Connection getConnection() throws SQLException, ClassNotFoundException {//1. 加载并注册JDBC驱动Class.forName("com.mysql.cj.jdbc.Driver");//2. 创建数据库连接Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/imooc?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", "root", "root");return conn;}/*** 关闭连接,释放资源* @param rs 结果集对象* @param stmt Statement对象* @param conn Connection对象*/public static void closeConnection(ResultSet rs , Statement stmt , Connection conn){try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}try {if(stmt != null){stmt.close();}} catch (SQLException e) {e.printStackTrace();}try {if(conn != null && !conn.isClosed() ) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}
}

JDBC 实现insert、update、delete 操作

已经封装了DBUtils 类,在下面的开发中就能够简化程序开发

在 command 包下创建一个 InsertCommand 类 来实现Command接口 ,用于实现数据项的插入操作。

image-20230220134903526

InsertCommand 类 完成代码如下:

public class InsertCommand implements Command{/*** 新增员工数据*/@Overridepublic void execute() {Scanner in = new Scanner(System.in);System.out.print("请输入员工编号:");int eno = in.nextInt();System.out.print("请输入员工姓名:");String ename = in.next();System.out.print("请输入员工薪资:");float salary = in.nextFloat();System.out.print("请输入隶属部门:");String dname = in.next();Connection conn = null;PreparedStatement pstmt=null;try {conn = DbUtils.getConnection();String sql = "insert into employee(eno,ename,salary,dname) value(?,?,?,?)";pstmt=conn.prepareStatement(sql);pstmt.setInt(1, eno);pstmt.setString(2, ename);pstmt.setFloat(3, salary);pstmt.setString(4,dname);int cnt = pstmt.executeUpdate();//所有写操作都使用executeUpdate,代表本次写操作所影响的记录数System.out.println("cnt:"+cnt);System.out.println(ename+"员工入职手续已办理");} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally {DbUtils.closeConnection(null,pstmt,conn);}}
}

通过主程序的调用,运行交互结果如下:

image-20230220142429226

以上实现了员工数据的插入(insert)。同理,其更新(update)和删除(delete)操作亦是如此,唯一变的就是 sql 语句

 String sql = "update employee set salary=? where eno=?";//更新员工数据String sql = "delete from employee where eno = ?";//删除员工
http://www.hrbkazy.com/news/24038.html

相关文章:

  • 展示网站开发 大概多少钱seo网络推广到底是做什么的
  • 文学网站怎样建设百度不收录网站
  • 手机网站建设系统资源网站优化排名软件
  • 宁波做外贸网站推广免费网站搭建
  • 网站实名制 怎么做google关键词工具
  • php网站开发文档怎么写可以发外链的网站整理
  • 做网站的职位叫什么问题网络营销策略实施的步骤
  • 百度搜不到的网站河南网站建设制作
  • 公司网站彩页怎么做网站快速被百度收录
  • 本科自考有什么专业站长之家seo查询
  • 网站建设开发原代码归属武汉seo报价
  • 永康网站建设公司百度上如何做优化网站
  • 重庆做网站建设公司排名项目推广方式有哪些
  • wordpress无广告视频网站淘宝推广引流方法有哪些
  • 宝山企业做网站怎样推广自己的产品
  • 网站图片一般多大尺寸seo优化与sem推广有什么关系
  • 建站平台 iis如何建立网址
  • 做外贸仿牌网站云南百度公司
  • 没有自己的境外网站怎么做谷歌推广百度竞价推广运营
  • 聊城网站开发公司教育机构在线咨询
  • 腾讯网静态网站建设站内推广方式有哪些
  • 网站 description精准营销系统价值
  • 建设网站注意什么竞价排名点击
  • 公司网站是用什么软件做软文写作发布
  • 美观网站建设物美价廉东莞疫情最新消息今天新增病例
  • 免费教育网站大全 建站百度学术搜索
  • 网站建设购销合同刷赞网站推广ks
  • 网站推广应该坚持( )策略。电商运营推广是做什么的
  • 网站怎么做脚注如何自己建立一个网站
  • 明空网络做网站好不好唐山seo