JDBC
一.雇员管理系统
雇员管理系统可以管理员工和部门。
对员工和部门进行增删改查。
员工与部门是一对多关系。
员工功能:
1.根据雇员的雇员编号查询雇员信息。
2.根据雇员的工资范围查询雇员信息。
3.增加一个新员工
4.修改员工的信息
5.根据员工编号删除员工
6.根据部门编号查询部门员工。
部门功能:
1.添加部门
2.删除部门
3.修改部门
4.查询所有部门
5.根据部门编号查询部门
6.根据部门名称模糊查询部门信息。
步骤:
1.创建一个新的module
03-jdbc-ems
2.导包
druid-1.1.14.jar
mysql-connector-java-5.1.7-bin.jar
junit-4.4.jar
lombok-1.18.24.jar
3.实体类
Emp Dept
4.dao接口
DeptDao
EmpDao
5.实现类
DeptDaoImpl
EmpDaoImpl
6.工具类
JdbcUtil --- 配置文件[dbSource.properties] 封装对数据库的连接
JdbcTemplate 用于封装对数据库的操作 【增 删 改 查】
RowMapper 用于映射结果集
7.处理结果集映射类
DeptRowMapperImpl
EmpRowMapperImpl
二.元数据【了解】
1.什么是元数据?
即定义数据的数据称为元数据。
比如:我们要搜索一首歌【歌本身就是数据】,可以通过歌名,歌手,专辑等信息来搜索。
那么这些歌名,歌手,专辑就是歌的元数据。
因为此数据库的元数据就是注明这些数据库信息的数据。
元数据的分类:
1.数据库元数据
2.参数元数据
3.结果集元数据
1.数据库元数据【了解】
DatabaseMataData【数据库元数据对象】
该对象通过connection对象的getMateData方法获取。
该对象主要封装了数据库本身的综合信息。
例如:数据库产品名称,数据库的版本号,数据库的URL,
是否支持事务等这些信息。该对象常用于对JDBC进行封装时使用。
2.参数元数据【掌握】
该对象【ParameterMetaData】通用PreparedStatement的getParameterMetaData()方法获取。
该对象主要针对预编译对象的sql语句提供一个方法。可以动态获取sql语句的占位符个数。
3.结果集元数据【掌握】
ResultSetMetaData
该对象由ResultSet对象的getMetaData获取。
主要针对对结果集对象的一些信息的获取。
比如结果集的列数,指定列的名称,指定列的SQL类型等等。
可以说这个对象是对于框架来说最重要的一个对象。
三.事务
Transaction 事务
事务是用来保证数据操作的一致性。
JDBC默认是自动提交事务的,将每一条SQL语句都当做独立的事务执行。
关闭事务自动提交。
conn.setAutoCommit(false);
提交事务
conn.commit();
回滚事务
conn.rollback();
create table account(
cardNo varchar(50),
blance double
);
---插入数据
insert into account values('123456',5000);
insert into account values('654321',0);
四.批处理
批量处理数据,使用JDBC一次性处理大量数据。
添加批处理
本质上是将数据添加到缓冲区。
等待一次性刷新到磁盘。
ps.addBatch();
执行批处理
ps.executeBatch();
create table t_batch(
id varchar(50),
num int,
k1 int,
k2 int
);