|NO.Z.00103|——————————|BigDataEnd|——|Java&MySQL.数据库连接池和DBUtils.V12|——|MySQL.v13|DBUtils工具类|
一、DBUtils工具类
### --- DBUtils简介
——> 使用JDBC我们发现冗余的代码太多了,为了简化开发
——> 我们选择使用 DbUtilsCommons DbUtils是Apache组织提供的一个对
——> JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,
——> 同时也不会影响程序的性能。
### --- 使用方式:
——> DBUtils就是JDBC的简化开发工具包。需要项目导入 commons-dbutils-1.6.jar。

### --- Dbutils核心功能介绍
——> 1. QueryRunner 中提供对sql语句操作的API.
——> 2. ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
——> 3. DbUtils类,他就是一个工具类,定义了关闭资源与事务处理相关方法.
二、案例相关知识
### --- 表和类之间的关系
——> 整个表可以看做是一个类
——> 表中的一行记录,对应一个类的实例(对象)
——> 表中的一列,对应类中的一个成员属性

三、JavaBean组件
### --- JavaBean 就是一个类, 开发中通常用于封装数据,有一下特点
——> 1. 需要实现 序列化接口, Serializable (暂时可以省略)
——> 2. 提供私有字段: private 类型 变量名;
——> 3. 提供 getter 和 setter
——> 4. 提供 空参构造
### --- 创建Employee类和数据库的employee表对应
——> 我们可以创建一个 entity包,专门用来存放 JavaBean类

public class Employee implements Serializable {
private int eid;
private String ename;
private int age;
private String sex;
private double salary;
private Date empdate;
//空参 getter setter省略
}
四、sql语句
package com.yanqi.entity;
import java.io.Serializable;
import java.util.Date;
/**
* JavaBean类
* 用来存储数据 成员变量私有 提供get set 提供空参 实现序列化接口
*
* Employee类 就是对应了 数据库中Employee表
* `eid` INT(11) NOT NULL AUTO_INCREMENT,
* `ename` VARCHAR(20) DEFAULT NULL,
* `age` INT(11) DEFAULT NULL,
* `sex` VARCHAR(6) DEFAULT NULL,
* `salary` DOUBLE DEFAULT NULL,
* `empdate` DATE DEFAULT NULL,
*
*/
public class Employee implements Serializable {
//成员变量的名称 与 表中的列要一样
private int eid;
private String ename;
private int age;
private String sex;
private double salary;
private Date empdate;
public Employee() {
}
public Employee(int eid, String ename, int age, String sex, double salary, Date empdate) {
this.eid = eid;
this.ename = ename;
this.age = age;
this.sex = sex;
this.salary = salary;
this.empdate = empdate;
}
public int getEid() {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Date getEmpdate() {
return empdate;
}
public void setEmpdate(Date empdate) {
this.empdate = empdate;
}
@Override
public String toString() {
return "Employee{" +
"eid=" + eid +
", ename='" + ename + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
", salary=" + salary +
", empdate=" + empdate +
'}';
}
}
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv005-mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通