简单实现数据库DAO

2023-11-14

一、什么是DAO

DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。DAO是把对数据库的操作全部封装在里面。DAO把底层的数据访问逻辑和高层的业务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.

二、代码实现

/**
 * @Descrption:
 * @Author: RootBee
 * @Date: 2020/6/27 - 20:59
 */
public abstract class DataBaseDao<T> {
   
    protected  Class<T> klass;
	//实例化子类是时,获取泛型类型
    {
   
        Type genericSuperclass = this.getClass().getGenericSuperclass();
        ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;
        Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
        klass = (Class<T>) actualTypeArguments[0];
    }

    public List<Object> query(Connection connection, String sql, Object ...values) {
   
        List<Object> res = new ArrayList<>();
        PreparedStatement statement 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单实现数据库DAO 的相关文章

随机推荐

  • 零基础学区块链专栏文章目录

    前往老猿Python博文目录 零基础学区块链专栏 为免费专栏 基于老猿自己零基础学习区块链的知识总结 因此文章一定是循序渐进的介绍区块链相关知识 供类似老猿这种有一定计算机基础但区块链知识为零的同好们参考 但老猿介绍的内容都是概念性的基础知
  • 让你的应用支持新iPad的Retina显示屏

    一 应用图片 标准iOS控件里的图片资源 苹果已经做了相应的升级 我们需要操心的是应用自己的图片资源 就像当初为了支持iPhone 4而制作的 2x高分辨率版本 译者 以下简称高分 图片一样 我们要为iPad应用中的图片制作对应的高分版本
  • java 身边距离怎么查询_附近的人位置距离计算方法

    附近的人的位置用经纬度表示 然后通过两点的经纬度计算距离 根据网上的推荐 最终采用geohash geohash的实现java版 1 importjava util BitSet 2 importjava util HashMap 3 im
  • Pandas删除缺失数据函数--dropna

    在pandas中 dropna函数分别存在于DataFrame Series和Index中 下面我们以DataFrame dropna函数为例进行介绍 Series和Index中的参数意义同DataFrame中大致相同 pandas Dat
  • C# 网络编程之webBrowser乱码问题及解决知识

    在使用PHP MySQL编写网页时 曾近就因为显示中文乱码 口口口 困扰我很长时间 没想到在C 制作浏览器或获取XML页面时也经常会遇到显示中文乱码的问题 可想而知怎样解决编码问题或统一编码问题是非常严重的问题 下面就讲讲我的一些理解及解决
  • 《曾国藩家书》读书手记(修身篇一)

    曾国藩被章太炎评价为 誉之则圣相 谳之则元凶 为什么有这样的评价呢 我们可以看出曾国藩这个人褒贬不一 不过毛和蒋对于曾国藩都是推崇备至 毛说过 吾近于人 独服于曾国藩 看来曾国藩还是有可取之处的 尤其是他的家书 很多人评价甚高 一 修身篇
  • mysql存储引擎层核心服务层_MySQL(逻辑分层,存储引擎,sql优化,索引优化以及底层实现(B+Tree))...

    一 逻辑分层 连接层 连接与线程处理 这一层并不是MySQL独有 一般的基于C S架构的都有类似组件 比如连接处理 授权认证 安全等 服务层 包括缓存查询 解析器 优化器 这一部分是MySQL核心功能 包括解析 优化SQL语句 查询缓存目录
  • 无痕渗透“INSERT INTO”型SQL注入

    原文链接 http www mathyvanhoef com 2011 10 exploiting insert into sql injections html 在某个寂静的深夜 你徘徊在一个网站中 其中包含一个可提交form 需要你输入
  • 通过C#学习redis(集合)

    static void Main string args RedisClient cli new RedisClient 127 0 0 1 6379 password defaultDatabase 0 region 集合操作 Redis
  • Latex 作者上角标,通讯作者的小信封标记

    一 作者上角标 论文中作者的上角标一般用于标记一作二作的单位 添加方式如下 author Lily textsuperscript 1 and Alexw textsuperscript 2 结果如图所示 二 通讯作者的小信封标识 用来表示
  • Java时间日期格式转换

    Java时间格式转换大全 import java text import java util Calendar public class VeDate 获取现在时间 return 返回时间类型 yyyy MM dd HH mm ss pub
  • Dockerfile——ENTRYPOINT详解

    文章目录 前言 一 ENTRYPOINT 命令格式介绍 二 示例 总结 前言 Entrypoint的作用是 把整个container变成了一个可执行的文件 这样不能够通过替换CMD的方法来改变创建container的方式 但是可以通过参数传
  • XYZZY 【POJ - 1932】【SPFA】

    题目链接 有N个点 然后输入1 N个点 输入从它到其他点的血量变化 然后有几个点能到达 最后是这几个点 我们起点为1 终点为N 然后求的是我们是不是有可能或者达到终点 gt 0 直接SPFA跑最长路 感觉是在造样例 6 0 1 2 1000
  • 文件通配符

    一 文件通配符 通配符主要用通过设定一定的条件来查找匹配到的字符 匹配任意个字符包括0个 匹配任意单个字符 username 匹配username的家目录 cp root file1 tom 把file1文件复制到tom用户的家目录中 匹配
  • C语言算法复杂度大O表示法

    算法 程序运行的次数 O 1 常数复杂度 printf hello world O log n 对数复杂度 for int i 1 i lt n i i 2 printf hello world n O n 线性时间复杂度 for int
  • linux消息分发机制,linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能

    最近使用redis的c接口 hiredis 使客户端与redis服务器通信 实现消息订阅和发布 PUB SUB 的功能 我把遇到的一些问题和解决方法列出来供大家学习 废话不多说 先贴代码 redis publisher h gt File
  • ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战)(狂神说)

    文章目录 ElasticSearch 库 表 记录 笔记 ElasticSearch概述 ELasticSearch VS Solr总结 ElasticSearch安装 ELK的下载地址 核心概念 IK分词器插件 RESTful风格说明 关
  • MySQL 日期时间加减

    now 当前具体的日期和时间 curdate 当前日期 curtime 当前时间 1 MySQL加减某个时间间隔 设置当前日期变量 set dt now 设置当前日期 select dt 查询变量值 加减某个时间间隔函数date add 与
  • 微信小程序源码-图书馆预约系统的计算机毕业设计(附源码+论文)

    大家好 我是职场程序猿 感谢您阅读本文 欢迎一键三连哦 当前专栏 微信小程序毕业设计 精彩专栏推荐 安卓app毕业设计 Java毕业设计 基于微信小程序的图书馆预约系统 java 演示 源码下载地址 https download csdn
  • 简单实现数据库DAO

    一 什么是DAO DAO Data Access Object 是一个数据访问接口 数据访问 顾名思义就是与数据库打交道 夹在业务逻辑与数据库资源中间 DAO是把对数据库的操作全部封装在里面 DAO把底层的数据访问逻辑和高层的业务逻辑分开