天天看点

第二十六天:听课笔记

1.使用JDBC操作多个实体:

java面向对象:对称的(你指向我,我指向你)

department

    id

    name

    set employees

employee

    id

    name

    department   

数据库:不对称的(你指向我)

department ...id

employees  外键id

一    对    多 

(多)中有外键指向(一)中的...

department对employee

department中有employee的集合set

employee中有department

人穿衣服

一个人对应多个衣服

为了表示衣服属于哪个人的,衣服加一个外键,指向人

但是你要在(一)中加外键的话,人有哪几件衣服,

在数据库中,一列只能放一个数据,为了表示有哪几件衣服,你要存放N个人,这样不行

合理设计,在WEB应用中,如果设计你指着我,我指着你,DAO中要写具体的方法

如果变成单向关联的话,简化的,不用严格的面向对象设计

一对多  多的一方数据量不大

用一对一设计的话,就简化了工作量,提高系统系能

2.多对多

3.元数据 DataBaseMetaData

做框架用的

ParameterMetaData

PreparedStatement.getParameterMetaData

getParameterCount

getParameterType

meta.getParameterCount() 得到参数的个数

ResultSetMetaData

getColumnCount

getColoumnName(..)

getColoumnTypeName(...)   ---->  Types 常量表

4.JDBCUtils

将update,insert,delete封装

sql, Object[]

ObjectResultSetHander

ListResultSetHander

5.DBUtils

dbutils

queryRunner  --->  jdbcUtils

ResultSetHandler

query

ArrayListHandler 将每一行的数据封装成一个数组,将数组加到List集合中

XXX = BeanHandler(XXX.class) 传入类型  返回这个类型的实例

KeyedHandler(XXX) XXX作为大Map的Key 取出的数据封装到小Map中,作为大Map的value

6.O-R Mapping

对象 关系 映射