老程序员分享:JDBC工具类封装、封装DAO方法与数据库表实体类封装的使用案列详情

简介: 老程序员分享:JDBC工具类封装、封装DAO方法与数据库表实体类封装的使用案列详情

JDBC工具类封装、封装DAO方法与数据库表实体类封装


准备:


MySQL数据表:


CREATE TABLE 数据库名称.emp (


id int NOT NULL COMMENT 'id',


name varchar(255) NULL COMMENT //代码效果参考:http://www.lyjsj.net.cn/wx/art_23967.html

'姓名',

department varchar(255) NULL COMMENT '任务组',


PRIMARY KEY (id)


);


--添加几条数据


  insert into emp (id,name,department) values (10,"note","159");


  insert into emp (id,name,department) values (20,"lik","152");


  insert into emp (id,name,department) values (30,"bybe","132");


  insert into emp (id,name,department) values (40,"mrcheng","322"


JDBC 工具封装类:


?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394package JDBCTest; import java.sql.; /** 方法描述 @since: 1.0.0 @param: jdbc工具类 对一些操作进行封装 @JDBCUtils: JDBCUtils @author: Mr.cheng @date: 2021/1/14 8:57 /public class JDBCUtils { Connection coon = null; PreparedStatement ps = null; //使静态代码块对需要低用该工具类就能执行,平切只执行一//代码效果参考:http://www.lyjsj.net.cn/wx/art_23965.html

次 static { try { //加载驱动 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } System.out.println("注册驱动已执行!"); } /** @return 注册连接 / public Connection coonManger() { try { coon = DriverManager.getConnection("jdbc:", "root", "123456"); } catch (SQLException ex) { ex.printStackTrace(); System.out.println("程序注册链接失败!"); } System.out.println("加载驱动已执行!"); return coon; } /** 方法描述 表示预编译SQL语句的对象。 @since: 1.0.0 @param: 【sql】 @return: java.sql.PreparedStatement @author: Mr @date: 2021/1/14 9:18 / public PreparedStatement prepare(String sql) throws Exception { try { ps = coon.prepareStatement(sql); } catch (SQLException eps) { eps.printStackTrace(); System.out.println("获取数据库解析失败!"); } return ps; } //关闭资源 public void close() { if (coon != null) { try { coon.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } //包含结果集ResultSet 查询结构及进行关闭 public void resultSet(ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } //调用关闭资源的 close(); }}

  使用案列:


?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960package JDBCTest; import JDBCTest.dao.EmpDao; import java.sql.Connection;import java.sql.PreparedStatement;import java.util.List;import java.util.Scanner; //代码效果参考:http://www.lyjsj.net.cn/wz/art_23963.html

public class UtilTest { public static void main(String【】 args) { Scanner scanner = new Scanner(System.in); Connection coon = null; PreparedStatement ps = null; String id, name, department; int faly = 0; JDBCUtils utils = new JDBCUtils(); Emp emp = new Emp(); EmpDao dao = new EmpDao(); System.out.println("*欢迎来到猪猪世界"); System.out.println("请输入你要办理的业务"); System.out.println("1.添加朋友"); System.out.println("2.清除朋友"); System.out.println("3.更新朋友"); System.out.println("4.我的好友"); System.out.println("请选择功能!"); faly = scanner.nextInt(); if (faly == 1) { &n
相关文章
|
25天前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
199 2
|
5月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
987 1
|
3月前
|
存储 关系型数据库 MySQL
MySQL数据库中进行日期比较的多种方法介绍。
以上方法提供了灵活多样地处理和对比MySQL数据库中存储地不同格式地日子信息方式。根据实际需求选择适当方式能够有效执行所需操作并保证性能优化。
403 10
|
8月前
|
数据库
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
|
4月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
228 11
|
6月前
|
存储 算法 Java
实现不同数据库的表间的 JOIN 运算的极简方法
跨库计算是数据分析中的常见难题,尤其涉及多数据库系统时,表间 JOIN 操作复杂度显著提升。esProc 提供了一种高效解决方案,能够简化跨库 JOIN 的实现。例如,在车辆管理、交管和公民信息系统中,通过 esProc 可轻松完成如下任务:按城市统计有车公民事件数量、找出近一年获表彰的车主信息,以及按年份和品牌统计车辆违章次数。esProc 支持不同关联场景(如维表关联与主子表关联)的优化算法,如内存索引、游标处理和有序归并,从而大幅提升编码和运算效率。无论是同构还是异构数据源,esProc 均能灵活应对,为复杂数据分析提供强大支持。
|
7月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
1489 28
|
7月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
8月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
202 16
|
9月前
|
数据库
【YashanDB 知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
**数据库主备切换简介** 在数据库正常或异常情况下,实现主备切换至关重要。若配置不当,主节点故障将影响业务使用,尤其在23.2版本中。原因包括资源紧张或主节点异常。解决方法涵盖手动和自动切换: 1. **一主一备部署**: - **手动切换**:支持Switchover(同步正常时)和Failover(主库损坏时)。 - **自动切换**:启用yasom仲裁选主开关。 2. **一主两备部署**: - 默认最大保护模式,自动切换开启。 需检查并配置自动切换以确保高可用性。经验总结:一主一备默认关闭自动切换,需手动开启;一主两备默认开启。