JDBC第二天学习~mysql基础

目录

一、DAO(Data Access Object)

1,DAO诞生的背景:以前我们是把数据库的操作代码编写到客户端里,

2,解决:封装思想(联想到集合—将数据存储到内存,集合中封装增删改查的操作)​

3,DAO封装了数据的增删改操作,数据访问接口。

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方法的实现,就测试该功能是否正确;

单元测试 JUnit Test

✿ 配置文件:xml适合有层次结构的配置;而properties就只要符合键值对存储即可


一、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方法的实现,就测试该功能是否正确;

单元测试 JUnit Test

  • 快速生成对应该接口或该类的单元测试类的步骤:

右键接口(或类) -》 new -》 JUnit Test Case【或者先选择Other,然后输入JUnit Test Case】-》选next【勾选需要测试的方法】-让它自动选中单元测试 -》finish

  • 进行单元测试时,想要测试哪个方法就把光标放到该方法,则:右键-》选择Run as -》JUnit Test

  • 单元测试类【DAO组件的测试类,所以得依赖DAO组件】:

1、面向接口编程:接口变量 = new 实现类();

2、DAO对象起名为xxxDAO,xxx为对象名称,例如 studentDAO。

举例private IStudentDAO studentDAO = new StudentDAOImpl();

关于单元测试的一些细节:

  1. 书写了新的代码,记得保存一下,才能单元测试

  1. 细节:junit4.x单元测试:

① 方法必须是public修饰;

② 该方法上必须要贴有@Test标签

✿ 配置文件:xml适合有层次结构的配置;而properties就只要符合键值对存储即可

  • 方式一:配置文件.properties 建立在src目录下(这样的话,配置文件就跟java代码 在一起了,不好)

  • 方式二:再新建一个Source Folder文件(resources),再在下面建立.properties文件

□ Source Folder图标:放到该文件下面的直接编译成 .classpath 下面【默认classpath是bin下】,则配置资源(.properties文件)编译到 classpath路径【bin目录下】,通过classLoader读取

✿6,语句对象PreparedStatement 和Statement 的比较:

(通过对比,法相PreparedStatement更加优秀,以后就使用它即可)

PreparedStatement 相对于Statement的优势

1):拼接SQL上,操作更加简单

2):性能会更加高效,但是取决于数据库服务器是否支持。【Mysql不支持,Oracle支持

3): 安全性能更高,防止SQL注入(举例登录操作)。

❀ 如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦,ღ( ´・ᴗ・` )比心。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟庭大师兄

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值