当前位置: 首页 > news >正文

baseDao增删改查.

这里写目录标题

    • 1、baseDao增删改查介绍
    • 2、basDao类
    • 3、BasDao类的作用

1、baseDao增删改查介绍

(1)、增加Create)操作:

  • 通过BaseDao的insert方法可以向数据库中插入一条新的记录。

  • 该方法接受一个实体对象作参数,将该对象的属性映射到表的字段上,并执行插入操作。

(2)、删除(Delete)操作:

  • 通过BaseDao的delete方法可以根据指定条件从数据库中删除记录。
  • 该方法接受一个条件参数,可以是一个简单的等值条件,也可以是一个复杂的条件表达式。

(3)、修改(Update)操作:

  • 通过BaseDao的update方法可以根据指定条件更新数据库中的记录。
  • 该方法接受一个条件参数和一个实体对象作为参数,将实体对象的属性映射到数据库表的字段上,并执行更新操作。

(4)、查询(Retrieve)操作:

  • 通过BaseDao的select方法可以从数据库中查询记录。
  • 该方法接受一个条件参数和一个返回类型参数,根据条件从数据库中查询符合条件的记录,并将查询结果映射到返回类型的对象上。

2、basDao类

(1)、打开数据库

 private String dirver="com.mysql.jdbc.Driver";private String url="jdbc:mysql://localhost:3306/ClothingDB";private String  username="root";private String password="root";/***  打开数据库* @return*/public Connection getConnection(){Connection con=null;try {Class.forName (dirver);con= DriverManager.getConnection(url,username,password);} catch (Exception e) {e.printStackTrace();}return con;}

(2)、关闭资源

/*** 关闭资源* @param rs* @param pst* @param con*/public  void close(ResultSet rs,PreparedStatement pst,Connection con){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(pst!=null){try {pst.close();} catch (SQLException e) {e.printStackTrace();}}if(con!=null){try {con.close();} catch (SQLException e) {e.printStackTrace();}}}

(3)、增删改的方法

/*** 增删改* @param sql* @param params* @return*/
public int executeUpdate(String sql,Object[] params){int row=0;//1,2、获取链接Connection conn=getConnection();//3、编写sql语句---》增删改sql不一样,由调用者try {//4、预处理对象PreparedStatement pst= conn.prepareStatement(sql);//5、数据注入for (int i = 0; i < params.length; i++) {pst.setObject(i+1,params[i]);}//6、处理数据row=pst.executeUpdate();//7、释放资源close(null,pst,conn);} catch (SQLException e) {e.printStackTrace();}return row;}

3、BasDao类的作用

BaseDao类是一个基础的数据访问对象类,它提供了一些通用的数据库操作方法,用于对数据库进行增删改查操作。通过继承BaseDao类,可以方便地实现对不同实体类的数据库操作。

basDao作用解释
封装数据库连接和关闭BaseDao类中包含了数据库连接和关闭的方法,可以方便地进行数据库的连接和关闭操作,避免了在每个具体的数据访问对象中重复编写这些代码
提供通用的增删改查方法BaseDao类中定义了一些通用的增删改查方法,如插入数据、更新数据、删除数据和查询数据等。这些方法可以被具体的数据访问对象继承和重写,以实现对不同实体类的数据库操作
提供事务支持BaseDao类中还提供了事务相关的方法,如开启事务、提交事务和回滚事务等。通过使用这些方法,可以保证在数据库操作过程中的一致性和完整性
提供异常处理BaseDao类中对数据库操作过程中可能出现的异常进行了处理,可以捕获并处理异常,避免了异常导致的程序中断或数据不一致等问题

相关文章:

baseDao增删改查.

这里写目录标题 1、baseDao增删改查介绍2、basDao类3、BasDao类的作用 1、baseDao增删改查介绍 (1)、增加Create&#xff09;操作&#xff1a; 通过BaseDao的insert方法可以向数据库中插入一条新的记录。 该方法接受一个实体对象作参数&#xff0c;将该对象的属性映射到表的字…...

什么是面向对象【大白话Java面试题】

什么是面向对象 同样是解决一个问题&#xff0c;面向对象的角度是将问题抽象成对象的形式。通过分类的思维方式&#xff0c;将问题分成几个解决方案的对象。给每个对象赋值属性和方法&#xff0c;对每个对象的细节进行面向过程的思维&#xff0c;执行自己的方法来解决问题。 …...

PyTorch 教程-快速上手指南

文章目录 PyTorch Quickstart1.处理数据2.创建模型3.优化模型参数4.保存模型5.加载模型 PyTorch 基础入门1.Tensors1.1初始化张量1.2张量的属性1.3张量运算1.3.1张量的索引和切片1.3.2张量的连接1.3.3算术运算1.3.4单元素张量转变为Python数值 1.4Tensor与NumPy的桥接1.4.1Tens…...

【有芯职说】数字芯片BES工程师

一、 数字芯片BES工程师简介 今天来聊聊数字芯片BES工程师&#xff0c;其中BES是Back End Support的缩写&#xff0c;就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥&#xff0c;完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在…...

暴力破解pdf文档密码

首先安装pdfcrack工具包 apt install pdfcrack 默认密码字典存储在/usr/share/wordlists里&#xff0c;是gz文件&#xff0c;将它解压并copy到pdf目录 然后使用pdfcrack破解 密码在最后一行user-password的单引号里...

蓝桥杯刷题第四天

思路&#xff1a; 这道题很容易即可发现就是简单的暴力即可完成题目&#xff0c;我们只需满足所有数的和为偶数即可保证有满足条件的分法&#xff0c;同时也不需要存下每个输入的数据&#xff0c;只需要知道他是偶数还是奇数即可&#xff0c;因为我们只需要偶数个奇数搭配在一块…...

03-数据库的用户管理

一、创建新用户 mysql> create user xjzw10.0.0.% identified by 1; Query OK, 0 rows affected (0.01 sec) 二、查看当前数据库正在登录的用户 mysql> select user(); ---------------- | user() | ---------------- | rootlocalhost | ---------------- 1 row …...

每日一题 --- 三数之和[力扣][Go]

三数之和 题目&#xff1a;15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 **注意&#x…...

vue render 函数详解 (配参数详解)

vue render 函数详解 (配参数详解) 在 Vue 3 中&#xff0c;render 函数被用来代替 Vue 2 中的模板语法。 它接收一个 h 函数&#xff08;或者是 createElement 函数的别名&#xff09;&#xff0c;并且返回一个虚拟 DOM。 render 函数的语法结构如下&#xff1a; render(h) …...

ubuntu23.10配置RUST开发环境

系统版本: gcc版本 下载rustup安装脚本: curl --proto =https --tlsv1.2 https://sh.rustup.rs -sSf | sh下载完成后会自动执行 选择默认安装选项 添加cargo安装目录到环境变量 vim ~/.bashrc<...

Vue性能优化--gZip

一、gZip简单介绍 1.1 什么是gzip gzip是GNUzip的缩写&#xff0c;最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术&#xff0c;web服务器和客户端&#xff08;浏览器&#xff09;必须共同支持gzip。目前主流的浏览器&#xff0c;Chro…...

蓝桥杯第七届大学B组详解

目录 1.煤球数量&#xff1b; 2.生日蜡烛&#xff1b; 3.凑算式 4.方格填数 5.四平方和 6.交换瓶子 7.最大比例 1.煤球数量 题目解析&#xff1a;可以根据题目的意思&#xff0c;找到规律。 1 *- 1个 2 *** 3个 3 ****** 6个 4 ********** 10个 不难发现 第…...

荣誉 | 人大金仓连续三年入选“金融信创优秀解决方案”

3月28日&#xff0c;由中国人民银行领导&#xff0c;中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布“第三期金融信创优秀解决方案”&#xff0c;人大金仓新一代手机银行系统解决方案成功入选&#xff0c;这也是人大金仓金融行业解决方案连续第三年获得用户认可。…...

【关于jupyter notebook】一打开就闪退的问题

在Anaconda Prompt中输入jupyter notebook发现是有个错误。 里面多了一个__init__.py的文件导致报错。删除之后&#xff0c;就可以使用了...

若依 3.8.7版本springboot前后端分离 整合mabatis plus

1.去掉mybatis 这一步我没有操作&#xff0c;看别人的博客有说不去掉可能冲突&#xff0c;也可能不冲突&#xff0c;我试下来就没去掉如需要去除&#xff0c;到总的pom.xml中properties标签下的<mybatis-spring-boot.version>x.x.x</mybatis-spring-boot.version>…...

vue做移动端自适应插件实现rem

1.实现方式 postcss-pxtorem&#xff1a;将px转换为rem amfe-flexible&#xff1a;为html、body提那家font-size&#xff0c;窗口调整的时候重新设置font-size 2.安装与使用 npm install amfe-flexible --save npm install postcss-pxtorem --save-dev 1.再main.js入口文件…...

android 快速实现 图片获取并裁剪(更换头像)

1.获取图片框架&#xff1a;https://github.com/LuckSiege/PictureSelector 2.图片裁剪框架&#xff1a;https://github.com/jdamcd/android-crop 3.Glide图片加载框架&#xff1a;https://github.com/bumptech/glide 2.build.gradle依赖&#xff1a; dependencies {// Pic…...

垃圾回收机制--GC 垃圾收集器--JVM调优-面试题

1.触发垃圾回收的条件 新生代 Eden区域满了&#xff0c;触发young gc (ygc)老年代区域满了&#xff0c;触发full gc (fgc)通过ygc后进入老年代的平均大小大于老年代的可用内存,触发full gc(fgc).程序中主动调用的System.gc()强制执行gc,是full gc&#xff0c;但是不必然执行。…...

Java基础知识总结(29)

Java虚拟机 运行时数据区 程序计数器 方法区&#xff1a;Java 8以后没有方法区&#xff0c;改为了元空间&#xff08;MetaSpace&#xff09; 虚拟机栈 堆 本地方法栈 程序计数器 它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里&#xff0c…...

vue js金额转中文

在Vue.js项目中&#xff0c;实现金额转中文的功能通常涉及编写一个JavaScript方法来处理数字转换逻辑&#xff0c;并在Vue组件中调用该方法。下面是一个基本的示例&#xff0c;展示如何在Vue组件中定义一个计算属性或方法来实现这一功能&#xff1a; /*** 思路&#xff1a; …...

BERT-base-uncased完全指南:从基础原理到实战应用

BERT-base-uncased完全指南&#xff1a;从基础原理到实战应用 【免费下载链接】bert-base-uncased 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/bert-base-uncased 一、认知铺垫&#xff1a;为什么BERT改变了NLP格局&#xff1f; 1.1 BERT的突破性意义何…...

AI视频修复与画质增强完全指南:从低清到高清的视频优化解决方案

AI视频修复与画质增强完全指南&#xff1a;从低清到高清的视频优化解决方案 【免费下载链接】video2x A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR. Started in Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_…...

LangGraph 工作流实战:Few-Shot提示赋能大模型精准调用自定义计算工具

1. 为什么需要Few-Shot提示赋能工具调用&#xff1f; 大模型在通用任务上表现惊艳&#xff0c;但遇到需要精确调用自定义工具的场景时&#xff0c;常常会出现"知道但不会用"的情况。比如让GPT-4计算"3172531284724"&#xff0c;它可能直接输出错误答案而非…...

3步永久保存喜马拉雅VIP音频:xmly-downloader-qt5全功能测评

3步永久保存喜马拉雅VIP音频&#xff1a;xmly-downloader-qt5全功能测评 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 xmly-down…...

Python开发环境搭建新选择:Miniconda-Python3.11镜像体验

Python开发环境搭建新选择&#xff1a;Miniconda-Python3.11镜像体验 1. 为什么选择Miniconda-Python3.11镜像 Python作为当今最流行的编程语言之一&#xff0c;其版本管理和环境隔离一直是开发者面临的挑战。传统的Python安装方式往往会导致&#xff1a; 系统Python版本与项…...

ICRS-101机器人手动控制API协议设计与嵌入式实现

1. ICRS_101_API 项目概述ICRS_101_API 是一套面向教育与科研场景的机器人手动控制接口规范&#xff0c;专为 ICRS-101 型教学机器人平台设计。该 API 并非独立运行的固件或中间件&#xff0c;而是一组定义清晰、硬件无关的通信协议与软件抽象层&#xff0c;其核心目标是为上位…...

收藏必备!小白程序员快速入门大模型:RAG技术演进全景图

本文介绍了检索增强生成&#xff08;RAG&#xff09;技术的演进历程&#xff0c;从基础范式到代码RAG的现状与挑战。文章涵盖了朴素RAG的局限性、语义增强范式、多模态融合、上下文感知以及代码RAG的核心难点与应对策略。此外&#xff0c;还探讨了RAG作为智能体核心记忆与知识子…...

Qt项目里用dxflib解析CAD图纸,遇到带圆弧的多段线(LWPOLYLINE)怎么画?

Qt项目中利用dxflib解析CAD图纸&#xff1a;带圆弧多段线(LWPOLYLINE)的精确绘制方案 在工业设计、建筑图纸和机械制图领域&#xff0c;DXF文件作为CAD数据交换的标准格式&#xff0c;其精确解析一直是开发者的核心挑战。当使用Qt框架结合dxflib库进行CAD可视化时&#xff0c;优…...

阿里云域名动态解析避坑指南:从AccessKey到API调用的完整流程

阿里云域名动态解析实战手册&#xff1a;从权限配置到高可用方案设计 对于拥有个人博客、家庭NAS或远程开发环境的技术爱好者而言&#xff0c;动态公网IP始终是个令人头疼的问题。每当ISP重新分配IP地址时&#xff0c;原本稳定的服务连接就会突然中断。本文将分享如何利用阿里云…...

N_m3u8DL-RE流媒体下载器终极指南:5分钟掌握加密视频下载与直播录制

N_m3u8DL-RE流媒体下载器终极指南&#xff1a;5分钟掌握加密视频下载与直播录制 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器&#xff0c;支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/…...