JDBC第二天~JDBC之 DAO(Data Access Object)
JDBC第二天~JDBC之 DAO(Data Access Object)
一、DAO(Data Access Object)是一个数据访问接口,顾名思义就是与数据库打交道,封装了数据的增删改查(CRUD)操作。
【夹在逻辑与数据库资源中间】
1,DAO诞生的背景:以前我们是把数据库的操作代码编写到客户端里:
① 跟业务代码混杂在一起;
② 而且每次操作数据库时都需要重复书写代码。
2,解决:封装思想(联想到集合—将数据存储到内存,集合中封装了增删改查的操作)
3,DAO封装了数据的增删改操作,数据访问接口。
■ 举例:save()方法的设计:void save(String name, int age);
当需要保存的数据过多时,此时save方法的参数就很多,解决方法----封装思想。
4,DAO设计规范:
5,开发步骤:【记得准备工作是拷贝java驱动jar包】
1):先建立一张表,存储信息:t_student; 2) :建立domain包和domain类:Student; 3):建立dao包和dao接口:IStudentDAO; 4):建立dom.impl包和dao实现类:StudentDAOImpl; 5):根据DAO接口创建DAO测试类:StudentDAOTest; 6):编写dao实现类[StudentDAOImpl]中每一个DAO方法的实现; 7):每编些一个DAO方法的实现,就测试该功能是否正确; |
✿ 配置文件:xml适合有层次结构的配置;而properties就只要符合键值对存储即可
- 方式一:配置文件.properties 建立在src目录下(这样的话,配置文件就跟java代码 在一起了,不好)
- 方式二:再新建一个Source Folder文件(resources),再在下面建立.properties文件
□ Source Folder图标:放到该文件下面的直接编译成 .classpath 下面【默认classpath是bin下】,
则配置资源(.properties文件)编译到 classpath路径【bin目录下】,通过classLoader读取
6,PreparedStatement 和Statement 都可以表示语句对象:
■ PreparedStatement 相对于Statement的优势:(通过对比,PreparedStatement更加优秀,以后就使用它即可)
1):拼接SQL上,操作更加简单;
2):性能会更加高效,但是取决于数据库服务器是否支持。【Mysql不支持,Oracle支持】
3) : 安全性能更高,防止SQL注入(举例登录操作)。
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15579787.html