jdbc写一个访问数据库的工具类
操作的工具类
package com.zjw.jdbc2;
/**
* jdbc操作的工具类
* @author Administrator
*
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcUtils
{
private JdbcUtils() {}
private static String url = "jdbc:mysql://localhost:3306/aaa?useSSL=false&serverTimezone=UTC";
private static String user = "root" ;
private static String password = "123456";
public static Connection getConnection()
{
Connection con = null;
try
{
//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接
con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException | SQLException e)
{
e.printStackTrace();
}
//返回连接结果
return con;
}
/**
* 关闭连接 包含三个参数
* @param con 连接对象
* @param sta Statement对象
* @param res 结果集对象
*/
public static void closeConnection(Connection con,Statement sta,ResultSet res)
{
try
{
if(res != null)
res.close();
} catch (SQLException e)
{
e.printStackTrace();
}
try
{
if(sta != null)
sta.close();
} catch (SQLException e)
{
e.printStackTrace();
}
try
{
if(con != null)
con.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
/**
* 关闭连接 包含两个参数
* @param con 连接对象
* @param sta Statement对象
*/
public static void closeConnection(Connection con,Statement sta)
{
try
{
if(sta != null)
sta.close();
} catch (SQLException e)
{
e.printStackTrace();
}
try
{
if(con != null)
con.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
利用工具类来操作数据库
package com.zjw.jdbc2;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 使用jdbc编写的工具类操作数据库
* @author Administrator
*
*/
public class JdbcUtilTest
{
public static void main(String[] args)
{
//获取连接
Connection con = JdbcUtils.getConnection();
//操作数据库
String sql = "SELECT * FROM category;";
try
{
PreparedStatement pst = con.prepareStatement(sql);
ResultSet res = pst.executeQuery();
while(res.next())
{
String sid = res.getString("sid");
String sname = res.getString("sname");
System.out.println(sid+ " "+ sname);
}
//关闭连接
JdbcUtils.closeConnection(con, pst, res);
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
结果
jdbc写一个访问数据库的工具类的更多相关文章
- java 写一个JSON解析的工具类
上面是一个标准的json的响应内容截图,第一个红圈”per_page”是一个json对象,我们可以根据”per_page”来找到对应值是3,而第二个红圈“data”是一个JSON数组,而不是对象,不能 ...
- Java手写一个批量获取数据工具类
1. 背景 偶尔会在公司的项目里看到这样的代码 List<Info> infoList = new ArrayList<Info>(); if (infoidList.size ...
- 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入
一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...
- 用 Python 写一个 NoSQL 数据库Python
NoSQL 这个词在近些年正变得随处可见. 但是到底 “NoSQL” 指的是什么? 它是如何并且为什么这么有用? 在本文, 我们将会通过纯 Python (我比较喜欢叫它, “轻结构化的伪代码”) 写 ...
- 利用 Python 写一个颜值测试小工具
我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...
- servlet层调用biz业务层出现浏览器 500错误,解决方法 dao数据访问层 数据库Util工具类都可能出错 通过新建一个测试类复制代码逐步测试查找出最终出错原因
package com.swift.jztk.servlet; import java.io.IOException; import javax.servlet.ServletException; i ...
- SpringBoot实战(四)之使用JDBC和Spring访问数据库
这里演示的是h2databse示例,所以简单的介绍普及下h2database相关知识 H2数据库是一个开源的关系型数据库. H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提 ...
- 学习实践:使用模式,原则实现一个C++数据库訪问类
一.概述 在我參与的多个项目中.大家使用libMySQL操作MySQL数据库,并且是源代码级复用,在多个项目中同样或相似的源代码.这种复用方式给开发带来了不便. libMySQL的使用比較麻烦.非常e ...
- 基于 vite2 + Vue3 写一个在线帮助文档工具
提起帮助文档,想必大家都会想到 VuePress等,我也体验了一下,但是感觉和我的思路不太一样,我希望的是那种可以直接在线编辑文档,然后无需编译就可以直接发布的方式,另外可以在线写(修改)代码并且运行 ...
- 【JAVA - SSM】之MyBatis与原生JDBC、Hibernate访问数据库的比较
首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null ...
随机推荐
- Q:oracle表空间满了怎么办?
查询表空间使用率: --查看表空间使用率 SELECT a.tablespace_name as "TABLESPACE_NAME", DECODE(TRUNC(total),0, ...
- [BZOJ4605] 崂山白花蛇草水 题解
突然想买一瓶,然后喝上几口.(不要命的想法) 动态全局 \(k\) 大想到权值线段树上二分. 由于要存储二维的点,所以得用到我们神通广大的 \(KDT\) 了. 那么想到权值线段树套 \(KDT\) ...
- JavaUtils - [03] 代码生成器(旧)
题记部分 001 || 引入依赖 <!-- Code Generator --> <dependency> <groupId>com.baomidou</gr ...
- Sqoop - 使用场景
Oracle >> HDFS sqoop import --connect jdbc:oracle:thin:@<oracle_host>:<oracle_port> ...
- Flink - [01] 概述
官网:https://flink.apache.org/ 一.Flink 是什么 是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能. 是一个框架和分布式处 ...
- Flink学习(十九) 容错机制
主要内容: 一致性检查点(checkpoint) 从检查点恢复到状态 Flink检查点算法 保存点(savepoint) 一致性检查点(checkpoint) Flink故障恢复机制的核心,就是应用状 ...
- 计数类 dp 做题记录(长期更新)
前言 因为本人太弱,急需锻炼思维,固从现在起开始着手写计数题,并写下题解分析思路的欠缺.另外本文将长时间更新,所以我准备把它置顶,尽量日更! upd on 24.11.6 现版本改成长期更新. P36 ...
- 你好,新朋友:生成式AI的第一次对话
像学习使用智能手机一样开启AI对话 一.从"第一次用智能手机"理解AI交互 还记得初次使用智能手机时的笨拙吗?滑动解锁.输入文字.下载应用-每一步都需要探索.生成式AI的对话也遵循 ...
- 【Matlab】基于KDtree的最近邻搜索和范围搜索
摘要:介绍Matlab的rangesearch()函数和knnsearch()函数. rangesearch() -- 根据给定k-维数据集,返回指定距离范围内的所有数据点 knnsearch() - ...
- elmentui input number 数字验证
问题 需求是文本框只能输入数字.解决方案:使用正则 ,如下使用了 element-ui el-input 组件 整数 文本框只能输入整数 <el-input v-model='count' on ...