对增删查改的封装

HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装 HibernateUtil 分页 增删改查 封装 立即下载

增删改都可以通过一个方法来完成,查需要一个方法,因为查需要返回一个结果集,而其他的操作并不需要。

封装的工具类:

/**
 * 
 */
package com.sweet.tools;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author Administrator
 *
 */
public class DBUtil {
	
//  驱动
	private final static String DRIVER_CLASS = "com.mysql.jdbc.Driver";
	
//	账号密码
	private final static String URL = "jdbc:mysql://127.0.0.1:3306/mytest?characterEncoding=utf8";
	private final static String	USERNAME = "root";
	private final static String	PASSWORD = "root";
	
//	属性对象
	private static Connection		 connection;
	private static PreparedStatement preparedStatement;
	private static ResultSet 		 set;
	
	static {
		try {
			Class.forName(DRIVER_CLASS);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
//	获得连接
	public static Connection getConnection() throws SQLException {
		
	    connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
		return connection;
	}
	
	
//	释放
	public static void close() throws SQLException {
		
		if (set != null) {
			set.close();
		}
		
		if (preparedStatement != null) {
			preparedStatement.close();
		}
		
		
		if (connection != null) {
			connection.close();
		}
		
	}
	
//	CRUD
//	更改emp表中年龄为100员工的姓名为 李四
//	update(sql,Object[] objects);
//    增加删除修改可以用一个
	public static int updateAndInsertAndDelete(String sql,Object[] objects) throws SQLException {
		//1 获得连接
		connection = getConnection();
//		2 准备sql
	    preparedStatement = connection.prepareStatement(sql);
	    
//	   3 填充sql中的?参数
	     for (int i = 0; i < objects.length; i++) {
	    	 preparedStatement.setObject(i+1, objects[i]);
		}
//	     4 执行sql 被返回记录数
	     return preparedStatement.executeUpdate();
	}
	
	public static ResultSet query(String sql,Object[] objects) throws SQLException {
		
		connection = getConnection();
		preparedStatement = connection.prepareStatement(sql);
		
		for (int i = 0; i < objects.length; i++) {
			preparedStatement.setObject(i + 1, objects[i]);
		}
		
		set = preparedStatement.executeQuery();
	
		return set;
	}
	

	
}

测试类:

/**
 * 
 */
package com.sweet.jdbcDemo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import com.zhiyou.dao.IEmpDao;
import com.zhiyou.dao.impl.EmpDaoImpl;
import com.zhiyou.model.EmpObj;
import com.zhiyou.tools.DBUtil;

/**
 * @author Administrator
 *
 */
public class Test {

	/**
	 * @param args
	 * @throws SQLException 
	 * @throws ClassNotFoundException 
	 */
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		// TODO Auto-generated method stub
		
		DBUtil.getConnection();
		
		
		
		String sql1 = "select * from emp where e_age=?";
		Object[] objects1 = {20};
		ResultSet set = DBUtil.query(sql1, objects1);
		while (set.next()) {
			System.out.println(set.getString("e_name"));
		}
                
                //更改
                String sql = "update emp set e_name=? where e_age=?";
		Object[] objects = {"laosun12",20};
                int increateValue = DBUtil.updateAndInsertAndDelete(sql, objects);

                //插入
		String sql2 = "insert into emp(e_name,e_age) values(?,?)";
		Object[] objects2 = {"sweet",20};
                int increateValue = DBUtil.updateAndInsertAndDelete(sql2, objects2);
		
                //删除
		String sql3 = "delete from emp where e_age=?";
		Object[] objects3 = {20};
		int increateValue = DBUtil.updateAndInsertAndDelete(sql3, objects3);
		
                System.out.println(increateValue);
		
		DBUtil.close();

	}

}

 

java底层泛型类操作的简易封装 修改数据库连接字段,以及对应包名,即可调用。看的懂的可以选在加载配置文件来获取数据库连接信息。 立即下载

相关推荐

继承jdbc封装

实体类继承此类可以将此类成为实体类的一部分,以后使用时只需要“.”即可

【mybatis---2增删改查】

第一章:代理Dao方式的CRUD操作 代理Dao方式的增删改查 创建项目 UserDao接口代码 `import com.qcby.entity.User; import java.util.List; public interface UserDao { /** * 全部查询 * @return */ public List findAll(); /** * 根据id进行查询 * @param id */ public User findById(int id); /** * 插入数据

edwer93的博客 305

java增删改查JDBC封装类(泛型封装)

java增删改查JDBC封装类(泛型封装),这个是高度封装化的,增删改查,直接用到我的项目中去的。

Java对于MySQL增删改查操作的封装

对于咱们之前写的增删改查 首先写一个sql语句,使用预处理的搬运工对象对sql语句进行执行,在做项目的时候需要一直去创建对象,造成了一定的代码冗余 对于这一块的代码的能不能封装?能,增删改查的代码 封装过后在main主函数中只需要写三四行代码就可以了! 那么具体怎么封装呢 首先大伙记着导jar包!!!只用这三个就ok了 1.JdbcUtil 家人们咱们首先肯定要连接数据库啊,不连接数据库怎么封装他们的增删改查方法都没用,所以咱们可以先创建一个 db.prope...

来一杯Java咖啡 1959

JDBC的增、删、改、查的封装

JDBC的增、删、改、查的封装,JDBC的增、删、改、查的封装,JDBC的增、删、改、查的封装

Windows下Codex CLI binary报错排查与修复完整指南

在Windows开发环境中,命令行工具与图形界面应用的协同工作常常依赖于系统环境变量的正确配置。Codex CLI作为一款基于Node.js的智能编程命令行工具,其可执行文件(binary)的定位机制直接关系到桌面应用的正常启动。当用户执行npm更新或切换Node版本后,Codex CLI二进制文件路径可能发生漂移,从而触发“Unable to locate the Codex CLI binary”的报错。此类问题并非代码或账号异常,而是PATH路径、环境变量刷新及桌面应用缓存共同作用的结果。本文面向Wi

weixin_28718769的博客 305

sql 对插入、删除、修改、查询进行类封装

包名排列student类package sdut.po; public class Student { private int id; private String name; private int age; public Student() { } public Student(int id, String name, ...

陈言陈语的小陈 897

Flink CDC 实战:5分钟搞定PostgreSQL数据实时同步(附避坑指南)

本文详细介绍了如何使用Flink CDC实现PostgreSQL数据的实时同步,包括环境配置、逻辑复制槽创建、Flink环境搭建及实战验证。通过5分钟快速指南,帮助开发者高效搭建实时数据管道,并提供了常见问题排查和生产环境优化建议。

red88的博客 819

封装数据库

首先引入相应的表结构 npm i mysql 建一个db.js let db = {} const mysql = require("mysql"); const pool = mysql.createPool({ host:"localhost", user:"root", password:"123456", database:"py", //可选 queueLimit:3, connectionLimit:20 }) db.query =

weixin_48864616的博客 660

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 437

SAP 财务快速记账之--科目分配模型(Account assignment model )

SAP FICO 运维解决方案

lijinbao171022的博客 1767

【JDBC】数据库增删改查操作的封装

本文介绍了如何写一个通用的sql增删改和查询的操作,充分将反射、泛型、IO流、多态和面向对象思想等融合在一起,有利于读者更好的将所学的知识进行融汇贯通。

m0_71987537的博客 2432

PHP实现SM2算法(附完整源码)

PHP实现SM2算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4025

gremlin_python使用及增删查改方法封装

文章目录一、安装Janusgraph二、连接gremlin三、增删查改方法封装四、其他方法封装五、致谢 一、安装Janusgraph 1、下载安装包 前往janusgraph的官方发布页下载离线安装包,如下图所示,目前最新的版本是0.4.0,点击janusgraph-0.4.0-hadoop2.zip下载即可。请注意,该安装包只能在linux系统下安装!!! 2、解压运行 打开终端,使用unzi...

jack的博客 5786

11、体内皮质功能的电压敏感染料成像技术

本文详细介绍了电压敏感染料成像(VSDI)技术在体内皮质功能研究中的应用。内容涵盖VSDI的技术起源、作用机制、信号特点与解读局限性,以及其在映射感觉皮质功能区方面的优势。文章对比了VSDI与电极记录和钙成像技术的差异,突出了其在高时空分辨率下监测神经元群体亚阈值活动的独特价值。同时,提供了完整的实验操作流程,包括手术步骤、染料应用、光学系统配置及数据分析方法,并总结了常见问题及其解决方案。随着基因靶向和多模态技术结合的发展,VSDI有望进一步提升信号特异性和空间精度,成为解析大脑网络动态的重要工具。

Apple的专栏 81

工业缺陷标注要人命?我从零搭了一套自动标注系统,标注效率直接提升10倍

你是不是也深陷工业缺陷标注的无尽内耗?这不是个例,工业视觉项目落地,80%的时间和成本,都耗在了数据标注环节。普通的图像标注(猫狗分类、人脸识别),标注门槛低、规则简单、一致性要求宽松;而工业缺陷标注,是CV领域公认的地狱级难度:缺陷尺寸小到几像素、种类繁杂且非标、行业专业性极强、标注精度要求到像素级、正负样本极度不均衡,人工标注不仅效率低、成本高,更直接决定了模型的最终上限。我在工业视觉行业摸爬滚打了6年,踩遍了人工标注的所有坑,最终从零搭建了一套工业缺陷专用的闭环自动标注系统,把原来一张图30分钟的标注

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 202

完全封装JDBC增删查改代码

我们知道在学习JDBC的时候有很多重复代码,而封装使我们java语言的一大特点,所以为了重复代码不重复写,今天我们来看看JDBC增删查改完全封装

m0_70955866的博客 797

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【题】自定义整型数组类,为其封装增删查改方法

自定义一个整形数组类,该类中有一个整形数组变量,为它封装增删查改的方法。

dcprime的博客 308

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Node连接MySQL并封装其增删查改

Node连接MySQL并封装其增删查改 Node连接Mysql 说到node,可能大家会想到MOngoDB作为数据库,这里将会介绍node与mysql的连接,并分享了封装好的实例代码,在项目开发中可直接使用。下一篇博客将会讲node连接MongoDB。 安装Mysql模块 npm install mysql 连接Mysql const mys...

weixin_34066347的博客 113

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用封装好的数据库操作类来实现对数据库的增删查改

题目:(C#)使用封装好的数据库操作类来实现对数据库的增删查改数据库信息收集界面:主界面如下所示:提示:①第一个数据库信息收集界面的作用是:使代码的可移植性变强(该界面使用文件操作 ,将数据库服务器名,数据库名,登陆名,密码等信息保存在一个txt文件中;然后在数据库操作类中将文件中的数据库信息读取并组成数据库连接字符串;这样使得当将代码从一个电脑拷贝到另一个电脑时,不需要改动源代码就可以运行,而不...

jiuying684的博客 6196

Hibernate对数据库增删查改的封装

1.创建session的封装 package cn.itcast.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtils { private static Sess

mischen520的博客 3244

数据库牛刀小试之——增删查改简单操作之封装

实践是检验真理的唯一标准;感恩互联网每一位大佬的慷慨讲授;

jiazuntianxia的博客 356

python连接mysql封装代码进行增删查改

#代码封装 import pymysql def get_con(host,user="root",pwd="123456",dbname=''): #命令由10行传入 此处(host被赋值为localhost、dbname为websur数据库) con = pymysql.connect(host, user, pwd, dbname, charset='utf8') #此处进行数据连接赋值为con (值为以上内容) cur = con.cursor() #获得数据库游标,

weixin_52103018的博客 320

基于SSM框架maven项目 封装base公用增删查改

大概 对于一些业务逻辑操作,每个实体类会有很多重复的操作,如学生管理,教师管理,书本管理等都会需要用到增删查改,就会出现大量的重复代码,不优雅,不美观,没逼格。 所以 我想法呢 就是将那些重复的代码抽出来,放到一个公共的mapper中(学过mybatis的应该能明白吧),并慢慢加上分页、级联。 实现呢就是封装一个 base 层 ,将需要的数据在 service 层中处理好后 传给 baseD...

m0_37947644的博客 540

EF 增删查改封装 | EF通用增删查改封装

支持多条件查询的扩展 ExpressionExtensions.cs类using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; namespace System { /// &lt;summary&gt; /// 谓词表达式构建器 /// &lt;/summary&...

Fanbin168的专栏 2932
上一篇: Navicat外键设置
下一篇: c3p0配置文件和使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值