DAO类的设计

本文探讨了在初学JDBC时如何优化DAO类设计,以减少代码重复并提高代码复用性。通过提取公共方法,将CRUD操作集中到一个类中,实现了更人性化和联系性强的功能。介绍了创建DAO类的基本步骤,强调了方法设计时考虑其返回值的重要性,并以PowerDao类为例展示了如何封装查询、添加、修改、删除和单条查询等操作。
摘要由CSDN通过智能技术生成

DAO类的设计

​ 初学JDBC时,我们练习crud功能时,经常把他们设计成几个类,这样几个功能联系性差,而且代码重合度很高,举个简单的例子,

Class.forName("com.mysql.jdbc.Driver");
Connection connection =DriverMannager.getConnection("jdbc:mysql:///tshi","root","123456")

类似于这样的注册驱动建立连接的代码,很多类都重复,这时我们要想办法,用面向对象的思维去解决这种问题。

​ 如果将这几行代码提取为公共类的话,我们想到这个方法到底要不要返回值,显而易见是要的,因为下面的操作会用到对象connection的方法

PreparedStatement statement =connection.preparedStatement(sql);

思路:

1.每当我们提取公共的方法时,是需要这个方法干一件事情,还是干一件事情并告诉我们结果,根据这个因素,我们要考虑该方法是否需要返回值

2.在练习JDBC中,我们写的crud功能都是单独的类,这样写的必然结果就是每个单独的类无法调用,这在实际中就很不合理,举个例子,我们在删除功能中(代码如下),是根据用户编号来删除该条信息的,可是在大多请款下用户是不知道自己的id的,更不用说根据某id删除某数据,笼统一点儿地说,删之前要查询所有,将数据呈现在用户眼前,那怎样更简单的不复制查询的代码就能实现这一操作呢?

package com.xiding.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Scanner;

public class JDBC07 {
   
    public static void main(String[] args) throws Exception {
   
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql:///teshi","root","123456");

        Scanner scanner =new Sc
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值