jdbc封装1dao (代码分层)
com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据
com.aaa.servlet 存放servlet相关的类 例如:StudentServlet 处理 与浏览器交互的类
com.aaa.entity 存放实体类 例如 Student 接受数据库对象模型
com.aaa.util 存放工具类 例如 DBUtil2练习 模拟 servlet调用 dao2.1创建一个数据库表 Student( id name age )2.2创建数据库表对应的实体类 (为什么要创建实体类?作用:以后数据库表中的数据 提取到 java中的时候 用 对象来存储)2.3创建DAO
A 组成 两部分: 接口 ( 声明 )和 实现类
接口的命名规则例如: IStudentDAO I 代表这是一个接口 Student 对应业务名称(表名) DAO 后缀 表明当前是一个dao接口
实现类的命名规则例如: StudentDAOImpl Student 代表业务名称(表明) DAOImpl 代表dao接口的实现
为什么需要接口+实现类? 因为 我们需要一个多态的特征。---------------------多态------------------------什么是多态? 多种状态
如何产生多态? 继承多态 父类的引用 子类的对象 例如 : Animal a= newDog(); 基本上不用
接口多态 接口的应用 实现类的对象 例如: IStudentDAO dao= newStudentDAOImpl();
为什么要使用多态? 程序解耦 解除程序的耦合性
(不使用多态会产生什么问题?)------------------------------------------------B 接口声明的方法(接口中该写哪些方法)
重要:根据业务需求/CRUD 增删改查2.4接口中 声明 五个方法 (一个方法:返回值 参数 试想一下 这个业务的sql )
A 添加新学生
B 根据id删除学生
C 根据id修改学生
D 根据id查询学生
E 查询所有学生2.5对方法完成实现2.6测试代码3jdbc封装
我们发现 在dao的实现类中 有很多重复代码 我们可以将其封装起来3.1创建一个类 DBUtil3.2加载驱动和建立链接的代码 完全一样
加載驅動写到静态代码快中 :因为 驱动只需要加载一次即可 比如:你安装了一台电脑 只需要下载一次qq 以后直接使用就可以了
类的静态代码块 随着类的加载 只执行一次
建立链接的代码 单独创建一个方法 通过返回值返回链接对象:为什么链接要链接多次 因为链接用完了就关闭了3.3关闭的代码也需要封装3.4增删改的预处理代码 也基本一样4.11日 练习 1 dao的创建 2 增删改的三个方法(声明) 3 学会使用 DBUtil 4 弄清楚 executeupdate的原理 5能自主封装
最终目的 dao封装 20分钟