利用java语言查询数据库的工具类

Java数据库连接:手写代码实现MySQL或Oracle连接并操作数据 java如何手动进行数据库连接?如果你不会我可以教你。 阅读详情

准备工作:导入需要的包c3p0-0.9.1.2.jar,commons-dbutils-1.4.jar,commons-io-2.2.jar,commons-pool-1.5.6.jar,mysql-connector-java-5.0.8-bin.jar

其次需要导入配置文件c3p0-config.xml

然后开始编写工具类,里边包含连接数据可的方法,开启事务,提交事务,回滚事务的方法,以及关闭资源的方法,代码如下:

package com.qf.utils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mchange.v2.c3p0.ComboPooledDataSource;
//从连接池中获取连接
//获取连接池子对象
//获取连接
//关闭资源
public class DataSourceUtiles {
	private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
     //返回连接池对象的方法
	private static ThreadLocal<Connection> th= new ThreadLocal<Connection>();
	public static ComboPooledDataSource getDataSource() {
		return dataSource;//出问题的地方
		//写的时候,自己调自己,造成内存溢出
	}
	public static Connection getConnection() {
         
		Connection connection = th.get();
		if(connection==null){
		try {//连接池中获取连接的方法
			connection = dataSource.getConnection();
			th.set(connection);//这儿做了一次修改,原来是th.set(getconnection());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		}
		return connection;
	}
	
	//开启事务
	public static void startTransaction(){
		
		try {
			getConnection().setAutoCommit(false);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//提交事务
	public static void commit(){
		try {
			getConnection().commit();
			getConnection().close();
			th.remove();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
	}
	//回滚事务
	public static void rollback(){
		try {
			getConnection().rollback();
			getConnection().close();
			th.remove();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
//关闭资源的方法
	public static void close(Connection connection) {
		if (connection != null) {
			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public static void close(ResultSet set) {
		if (set != null) {
			try {
				set.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public static void close(Statement statement) {
		if (statement != null) {
			try {
				statement.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public static void close(Connection connection, Statement statement) {
		close(connection);
		close(statement);
	}

	public static void close(Connection connection, ResultSet set) {

		close(connection);
		close(set);
	}

	public static void close(Statement statement, ResultSet set) {
		close(statement);
		close(set);

	}

	public static void close(Connection connection, Statement statement, ResultSet set) {
		close(connection);
		close(statement);
		close(set);

	}

}



JAVA通用查询工具类 一个通用的查询类, 立即下载

相关推荐

Java连接数据库的工具类

本资源是java开发的常用工具类,包括01.DTD约束文档,02.Schema约束文档,c3p0,commons-dbutils-1.6,commons-io-2.4,commons-pool-1.5.6,mysql-connector-java-5.1.37

下面是工具类中的数据库访问类 Mysql

package util;/* * date:   2004-11-17 * author:zhangyu6050; * todo: 一个数据库封装类,作用是: *                      获取数据库连接 *                      通过接受的SQL语句选择数据库并且返回结果 *       期间要作出以下判断:1 如果sql用来查询:、、、、 *     

samwisezhang的专栏 808

数据库查询工具

一个简单的数据库查询工具,使用netbeans开发,可以执行select , update , insert , delete 语句

java连接数据库工具类_java连接数据库JDBC工具类,Java连接数据库通用增删改查

import java.io.InputStream;import java.lang.reflect.Field;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSet...

weixin_39801202的博客 215

史上最全的Java工具类

史上最全的Java工具类,包括http访问,发送短信验证码,拼音转孩子,android图片压缩,android上传下载文件,android访问网络,MD5,json解析和生成json串,编码,SDcard工具类,android信息获取,mysql连接工具,sql server连接工具,日期生成,相对日期生成,字符串工具类,android sharepreferences工具类,android Toast工具类, android sqlite工具类等等。

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 308

利用Java编写连接数据库的工具类

利用Properties文件解析以及利用Java建立数据库连接 在下边先给一个properties解析出来 用户名、密码 public class PropertiesParser { /* * properties 配置文件处理工具 * 将所有键值对 存到Map里面 * 所以 propertiesMap定义为 static 和 final类型的 * 负责从外部读...

weixin_44356253的博客 683

最小二乘法(看完即会)

其中,X是数据矩阵,每一行是一个数据点,每一列是一个自变量(包括截距项),Y是观测值向量,β是待求的系数向量。为了找到使S最小的a和b的值,我们需要对S求关于a和b的偏导数,并令它们等于零。最小二乘法的数学公式通常用于线性回归问题,其中目标是找到一条直线(或更高维度的超平面),使得这条直线与给定数据点的误差平方和最小。同样地,通过求偏导数和令偏导数等于零,我们可以得到一个线性方程组,解这个方程组可以找到最优的b_0, b_1, …+ b_m*x_m,其中b_0是截距,b_1到b_m是各个自变量的系数。

qlkaicx的博客 2万+

在工具类中查询数据库的正确写法(或者说在 实体类中 调用 service 的方法的思路)

此时就可以在需要调用 A 里面的方法 使用静态的 成员变量 A来点出来。

bareape的博客 2248

IC版图设计布局经验90条!

13 如果一个cell调用其它cell,被调用的cell的vssx,vddx,vssb,vddb如果没有和外层cell连起来,要打上PIN,否则通不过diva检查.尽量在布局低层cell时就连起来。48 在匹配电路的mos管左右画上dummy,用poly,poly的尺寸与管子尺寸一样,dummy与相邻的第一个poly gate的间距等于poly gate之间的间距。8 更改cell时查看路径,一定要在正确的library下更改,以防copy过来的cell是在其他的library下,被改错。

weixin_44606964的博客 912

统信UOS V20 安装mysql5.7.42详细教程

到bin/下,执行下面的命令,初始化mysql服务信息,得到数据库的初始密码,实际如果目录不一样记得换成自己的目录。下载后通过远程将安装包上传至服务器,我这里将安装包上传至/usr/local/mysql 下。ps:这时候如果还是不能远程访问的话,可能是防火墙的原因,命令行执行以下命令即可。再次登录,发现缺少 libtinfo.so.5文件,再次建立软连接。登录,发现报错,提示缺少libncurses.so.5文件,使用。创建 /var/lib/ 下mysql目录。登录成功,修改密码,设置远程访问。

为谁伫立在风中 1万+

Java学习:java技术案例--封装JDBC工具类

Java学习:java技术案例–封装JDBC工具类 JDBC简介 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 Java 具有坚固、安全、...

365

在YOLO中扩充新类别并且不影响旧类的识别精度

让我们先从简单的部分开始:用我们的新类训练自定义 YOLOv8 模型。在本教程中,我们将向模型添加车牌类。我们将使用Roboflow 中的一个数据集。这个数据集有两个车牌类。在开始训练之前,我们还必须对库进行一些更改。为了节省时间,我还将本教程中我们将进行的更改转换为补丁该补丁包含多项更改,但大多数更改都用于指南的下一部分。if RANK!= -1:是的,我们将编写一个回调。我们希望将此自定义训练模型的头部与 COCO 预训练模型中的旧头部一起使用。

如果想成为中心,那么就到中心去吧。 1225

深圳Java学习:java技术案例--封装JDBC工具类

深圳Java学习:java技术案例–封装JDBC工具类 JDBC简介 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 Java 具有坚固、...

264

YOLOv11改进 | 损失函数改进篇 | MPDIoU、InnerMPDIoU助力细节涨点(二次创新 + 代码解析)

本文为读者详细介绍了YOLOv11模型的最新改进,带来的改进机制是最新的损失函数MPDIoU和融合了最新的Inner思想的InnerMPDIoU(效果打爆之前的所有的损失函数提升检测精度和处理细节方面的作用。通过深入探讨MPDIoU和InnerMPDIoU(全网首发)的工作原理和实际代码实现,本文旨在指导读者如何将这些先进的损失函数技术应用到YOLOv11模型中,以提高其性能和准确性。文章内容涵盖从理论基础、代码实现,到实际教你如何添加本文的机制到你的模型中。

Snu77的博客 4028

使用MATLAB/Simulink搭建一个简化的无人机螺旋桨气动特性模型,并通过仿真验证其基本功能

螺旋桨概述特点:螺旋桨通过旋转产生推力,推动无人机前进或上升。关键参数直径(D):影响推力和功率消耗。螺距(P):定义了螺旋桨每转一圈理论上前进的距离。效率(η):衡量螺旋桨将机械能转化为推力的有效性。应用场景:航拍摄影、农业监测、物流配送等。仿真目标搭建一个简化的无人机螺旋桨气动特性模型,涵盖从电机输入到螺旋桨输出推力的过程。分析不同条件下的系统响应特性(如推力、功率消耗),并探讨优化螺旋桨设计的方法。定义螺旋桨的一些基本物理参数,如直径、螺距、推力系数、功率系数等。使用Constant。

xiaoheshang_123的博客 429

LangChain4j如何让Java应用通过自然语言直接查询数据库

在当今数据驱动的业务环境中,非技术用户经常需要访问数据库信息却受限于SQL技能门槛。LangChain4j作为Java生态中领先的AI应用框架,通过其SQL数据库智能交互功能,让业务人员能够用自然语言直接查询数据库,极大提升了数据访问的民主化程度。这项技术将大型语言模型与数据库元数据智能结合,为Java开发者提供了构建智能数据查询系统的强大工具。 ## 价值定位:消除技术门槛的数据访问革命 传

gitblog_00626的博客 1012

深度强化学习 | 基于DQN实现Flappy Bird游戏与分析

在Flappy Bird中,玩家需要通过控制小鸟安全穿过随机长度的水管来得分。本文基于深度Q网络DQN来实现Flappy Bird游戏的自主探索与学习

FRIGIDWINTER的博客 5914

【Java】Mybatis查询数据库

使用${}可以实现排序查询,而是用#{}就不能实现排序查询,因为当使用#{}查询时,如果传递的值为String则会加引号,就会导致SQL错误。经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据。也就是说使用MyBatis可以像操作对象一样操作数据库中的表,可以实现对象和数据表之间的转换,我们接下来看看MyBatis的使用。在多表查询的时候,如果使用resultMap标签,在一个类中包含了另一个对象是查询不出来包含的对象的。

qq_63474430的博客 6601

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MySql数据库JDBC工具类

//创建JDBCUtils工具类 public class JDBCUtils{ //定义成员变量 private static String driver; //数据库的驱动 private static String url; //需要连接的数据库的仓库名 private static String user; //数据库的用户名 private static String password;...

后来故事说给风听的博客 415

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何在静态工具类中使用mapper查询数据库

2.在工具类中使用 ApplicationContext 获取 Mapper。一般工具类方法都是静态的,不能直接使用@Autowired注入mapper。1.创建一个非静态的 Bean 来持有 Mapper。可以通过以下方法解决。

weixin_47276069的博客 450

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

封装JDBC工具类

JDBC简介 - JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 - Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。 - JDBC

qfzhaohan的博客 1118

java jdbc 封装类_JAVA技术案例--封装JDBC工具类

lJDBC简介- JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序- Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数...

weixin_42350163的博客 169

sql 连接工具_好程序员Java学习路线分享Java案例-封装JDBC工具类

好程序员Java学习路线分享Java案例-封装JDBC工具类大数据培训- JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序- Java 具有坚固、安...

weixin_39597318的博客 77

SuperSQL终极指南:用自然语言轻松查询数据库的Java框架

还在为复杂的SQL语法头疼吗?还在为记不住数据库表结构而烦恼吗?SuperSQL来了!这是一个革命性的Java框架,让你用自然语言就能查询数据库,就像和朋友聊天一样简单。无论你是Java开发者、数据分析师,还是产品经理,SuperSQL都能让你的数据库交互体验焕然一新。 ## 🤔 为什么你需要SuperSQL? 想象一下这个场景:产品经理小明想要查看"上个月销售额最高的三个产品",但他不懂S

gitblog_00416的博客 1085

Java根据前端返回的字段名进行查询数据的方法

在Java后端开发中,根据前端返回的字段名动态查询数据库是一种常见的需求。这种需求通常通过使用反射和动态SQL来实现。本文展示了如何根据前端返回的字段名动态查询数据库中的数据。

m0_72958694的博客 1549
上一篇: java分页的写法
下一篇: servlet中文件的上传与下载
XXSession
博客等级 码龄9年 10粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值