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注入(举例登录操作)。

 

posted @ 2021-11-20 01:25  一乐乐  阅读(67)  评论(0编辑  收藏  举报