jdbc总结

  1. JDBC_PreparedStatement插入大量数据_批处理插入_效率比较
    (1) jdbc新增大量数据时, 如何处理能提高效率?

通过PreparedStatement 批处理操作
(2) 什么是批处理? JDBC如何进行批处理?

批处理:在与数据库的一次连接中,批量的执行条 SQL 语句。
for(int i=0;i<list.size();i++){
ps.setString(1,list.get(i).getDepartmentName());
ps.setInt(2,list.get(i).getLocalhostId());
//添加批处理
ps.addBatch();
}
int[] arr=ps.executeBatch();//执行多条数据

  1. JDBC_ORM_使用Map封装查询记录
    (1) 什么是ORM?

对象-关系映射(Object/Relation Mapping,简称ORM)
(2) ORM解决的主要问题是什么?

1.持久化层缺乏弹性。一旦出现业务需求的变更,就必须修改持久化层的接口
2.持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化,毒药修改持久化曾的相关程序代码,增加了软件的维护难度。
3. JDBC_ORM_认识分层开发_包结构
(1) 什么是分层开发, 为什么要进行分层开发?

应用程序通过创建不同的包来实现项目的分层,将项目中的代码根据功能做具体划分并存放在不同的包下。
分层优点
1、分层结构将应用系统划分为若干层,每一层只解决问题的一部分,通过各层的协作提供整体解决方案。大的问题被分解为一系列相对独立的子问题,局部化在每一层中,这样就有效的降低了单个问题的规模和复杂度,实现了复杂系统的第一步也是最为关键的一步分解。
2、分层结构具有良好的可扩展性,为应用系统的演化增长提供了一个灵活的支持,具有良好的可扩展性。增加新的功能时,无须对现有的代码做修改,业务逻辑可以得到最大限度的重用。
3、分层架构易于维护。在对系统进行分解后,不同的功能被封装在不同的层中,层与层之间的耦合显著降低。因此在修改某个层的代码时,只要不涉及层与层之间的接口,就会对其他层造成严重影响。
(2) 代码的分层是通过包(package)来区分的, 列举各层常见的包名?

Commons 工具包
Pojo 模型层
Dao 数据访问层
Service 业务逻辑层
UI 界面层
4. JDBC_分层开发_环境搭建
(1) 什么是POJO?

模型层
(2) 实体类有哪些特点?
存放表实体对象

  1. 分层开发_抽取BaseDao_封装update方法
    (1) 代码抽取有几种方式? 应该遵循什么原则?
    BaseDao_封装通用的DML操作
    BaseDao_封装完成通用查询的方法
    public int ececuteUpdate(String sql,Object param);
    public List find(String sql,Object[] param,Class clazz);

遵循高内聚,低耦合
6. 分层开发_完成增删改操作
(1) JDBC实现增删改操作时有哪些注意事项?

  • 完成通用查询的方法
    List :泛型方法
    • 注意:通用的查询方法中要求模型对象的属性名必须要和数据库表中的列名相同。

(2) 简述JDBC中对事务的管理方式.

在 JDBC 操作中数据库事务默认为自动提交。如果事务需要修改为手动提交,那么我们需要使用 Connection 对象中的 setAutoCommit 方法来关闭事务自动提交。然后通Connection 对象中的 commit 方法与 rollback 方法进行事务的提交与回滚。
7. 分层开发_查询操作
(1) 将课上的代码敲两遍

  1. 分层开发_使用BeanUtils封装查询方法
    (1) 如何理解java的反射机制?
    我们可以利用反射机制获得类似动态语言的特性。
    在程序运行状态,对于任何一个类,都能知道该类的所有属性和方法;对于任何一个对象都能调用他的任一个方法。

(2) ResultSetMetaData有什么功能?

获取表中的信息
ResultSetMetaData有两个方法获取字段名称
一、getColumnName(int index),这个方法获取的是该字段在表内的名称。
二、getConlumnLabel(int index),这个方法获取的是你在语句中要求的该字段的名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值