学习主题:JDBC
JDBC_PreparedStatement插入大量数据_批处理插入_效率比较
jdbc新增大量数据时, 如何处理能提高效率?
使用批处理
什么是批处理? JDBC如何进行批处理?
只需要连接一次数据库,接收一定数量sql语句后一次性处理。提高了效率。
添加批处理:ps.addBatch()
执行:ps.executeBatch();
JDBC_ORM_使用Map封装查询记录
什么是ORM?
对象关系映射(Object Relationl Mapping)为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
ORM解决的主要问题是什么?
将复杂的业务逻辑和数据逻辑分离,从而将系统的紧耦合关系转化为松耦合关系,实现了应用程序的高内聚和低耦合。
JDBC_ORM_认识分层开发_包结构
什么是分层开发, 为什么要进行分层开发?
应用程序通过创建不同的包来实现项目的分层,将项目中的代码根据功能做具体划分, 并存放在不同的包下,也就是不同的包实现不同的功能。
为什么进行分层开发:
1、分层开发有效的降低了单个问题的规模和复杂度,实现了复杂系统的分解。
2、分层开发具有良好的可扩展性。
3、分层架构易于维护。
代码的分层是通过包(package)来区分的, 列举各层常见的包名?
commons: 用于存放工具类
dao.imlp; 数据访问层,存放操作数据库的代码
pojo:模型层,存储实体类。
services:业务层(实现各种业务操作)
JDBC_分层开发_环境搭建
什么是POJO?
Java中的实体类,可以理解为一个对象,包含了各种属性。一般对象名为表名,属性为表的各列,要求属性的顺序和表格列的顺序一致。
实体类有哪些特点?
实体类的名字应当和数据库的表名保持一致。
实体类应该能够序列化。
实体类应当包含无参构造方法。
实体类有属性和方法,属性对应数据库表中的字段,方法主要有set和get方法。
实体类应当包含属性serialVersionUID。
实体类的属性通常是private类型,实体类的方法是public方法
分层开发_抽取BaseDao_封装update方法
代码抽取有几种方式? 应该遵循什么原则?
抽取公共的代码,可通过抽象类、公共方法、抽象方法实现。
要注意代码的复用性。
分层开发_完成增删改操作
JDBC实现增删改操作时有哪些注意事项?
要选择合适的数据库的驱动包
2、执行操作结束后,要关闭Connection、preparedStatement以及ResultSet减少内存资源的占用
简述JDBC中对事务的管理方式.
数据库默认事务是自动提交的,每发送一条SQL语句就执行一条。
如果需要手动提交事务,需要使用setAutoCommit(false)语句关闭默认提交,执行sql语句后需要使用当前连接的rollback()方法手动提交事务。
分层开发_使用BeanUtils封装查询方法
如何理解java的反射机制?
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制
ResultSetMetaData有什么功能?
利用ResultSet的getMetaData的方法可以获得ResultSetMeta对象,而ResultSetMetaData存储了 ResultSet的MetaData。所谓的MetaData在英文中的解释为“Data about Data”,直译成中文则为“有关数据的数据”或者“描述数据的数据”,实际上就是描述及解释含义的数据。以Result的MetaData为例,ResultSet是以表格的形式存在,所以getMetaData就包括了数据的字段名称、类型以及数目等表格所必须具备的信息。 |
|