JDBC-Utils层的简单运用
项目中JDBC的Utils层运行需要以下六个步骤
//1、定义属性为空
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
//2、获取src目录下的文件并以流的形式输出---->ClassLoader类加载器
//主要是为了获取数据库的配置文件db.properties以及properties文件中早已配置好的比如JDBC连接池驱动、用户名、密码、数据库连接链接等资源
in = JDBC_Utils.class.getClassLoader().getResourceAsStream("db.properties");
// 创建Properties集合类
Properties properties = new Properties();
// 加载获取到的配置文件
properties.load(in);
// 获取资源
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
//3、加载JDBC驱动
Class.forName(driver);
// forName()需要抛出ClassNotFoundException异常
}catch (IOException e){
e.printStackTrace();
}catch (ClassNotFoundException e){
e.printStackTrace();
}
//4、获取连接
public static Connection getConnection() throws SQLException {
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}
//5、因为只读取一次文件,因此用的是静态代码块,执行过一次就要把资源都释放掉否则会占用系统资源。
public static void release(ResultSet rs, Connection conn, Statement stat){
// 关闭结果集
if(rs!=null){
try {
rs.close();
}catch (Exception e){
e.printStackTrace();
}
}
// 释放连接
if(conn!=null){
try {
conn.close();
}catch (Exception e){
e.printStackTrace();
}
}
// 释放数据库
if(stat!=null){
try {
stat.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
JDBC中Utils层的作用:使项目与数据库进行连接,相当于客户端与服务器之间建立连接的关系
连接数据库的四大参数:驱动、URL、用户名、密码
如果将来想要更改数据库,那么就要去修改这四个参数,为了修改代码的时候更快捷方便,写一个JDBC_Utils类,让它从配置文件dbconfig.properties中读取配置参数,然后创建连接对象。
附上dbconfig.properties配置文件的代码
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncodeing=utf8&useSSL=true
username = root
password = root //说明一下url后面接的都是什么东西
//jdbc是你连接池的名字,是jdbc那就写jdbc是c3p0就写c3p0
//mysql://localhost:3306这里是数据库mysql的访问ip地址和端口号,一般都是默认为3306端口和localhost(本机ip),如果是挂载在服务器或者虚拟机上,那我就不懂咯,不过大概应该不简单
//users?这个是你的数据库名
//useUnicode=true&characterEncodeing=utf8 这里就是指定字符的编码解码格式为utf-8
//useSSL=true 是一种加密协议用来防止外界因素对数据库的随意修改,因为mysql5.7以下版本安全性比较低
以上均为个人学习记录,如有不对请大神们指正,蟹蟹~
JDBC-Utils层的简单运用的更多相关文章
- OSI七层模式简单通俗理解
OSI七层模式简单通俗理解 这个模型学了好多次,总是记不住.今天又看了一遍,发现用历史推演的角度去看问题会更有逻辑,更好记.本文不一定严谨,可能有错漏,主要是抛砖引玉,帮助记性不好的人.总体来说,OS ...
- jdbc框架-dbutils的简单使用
jdbc框架-dbutils的简单使用 dbutils:是apache组织的一个工具类,jdbc的框架,更方便我们使用 使用步骤: 1.导入jar包(commons-dbutils-1.4.jar) ...
- JDBC增删改查简单测试
首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- JDBC数据源(DataSource)的简单实现
数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用. 数据源提供了一种简单获取数据库连接的方式,并能在内部通过一个池的机制来复用数据库连接,这样就大大减少创建数据 ...
- Spring jdbc 对象Mapper的简单封装
一般查询实体的时候,都需要这么使用/** * 根据id查询 * * @return */ public Emp queryEmpById(Intege ...
- 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能
说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...
- JDBC的概述和简单使用
1. 概念 JDBC是 Java DataBase Connectivity 的简写,翻译过来就是 Java 操作数据库. 目的是使用统一的Java代码操作所有关系型数据库. JDBC实际是定义了一套 ...
- SpringBoot2.x入门教程:引入jdbc模块与JdbcTemplate简单使用
这是公众号<Throwable文摘>发布的第23篇原创文章,收录于专辑<SpringBoot2.x入门>. 前提 这篇文章是<SpringBoot2.x入门>专辑的 ...
- JDBC【2】-- JDBC工作原理以及简单封装
目录 1. 工作原理 1.1 加载驱动 1.1.1 类加载相关知识 1.1.2 为什么JDK 1.6之后不需要显示加载了? 1.2 驱动加载完成了,然后呢? 2. 简单封装 1. 工作原理 一般我们主 ...
随机推荐
- JMeter压测脚本实例:单接口
新建测试计划 添加线程组 添加HTTP请求 配置该请求相关参数 1.请求头部信息 ①HTTP请求同级线程组下添加HTTP信息头部管理器 ②填充该请求所需的头部信息 2.请求体 选中之前增加的HTTP请 ...
- D - Swap Free Gym - 102423D 二分图性质:补图最大团 = 点的个数 - 最大匹配数
题意:给你一个串的某些全排列,没有重的,让你求一个最大的集合能有多少个元素,集合的满足条件:交换一个串的任意两个位置上的字母,不能变成集合里的另一个串. 思路:如果一个串不能通过交换一次字母位置变成另 ...
- “==” 与 equals 区别 简化易懂版
首先,我们只需要看Object中的equals 方法写的是啥 很显然,就是一句话,"==" 与 equals方法作用完全一致. 都是用来比较在内存的首地址,即用来比较两个引用变量是 ...
- 深入了解 JavaScript 内存泄漏
作者:京东零售 谢天 在任何语言开发的过程中,对于内存的管理都非常重要,JavaScript 也不例外. 然而在前端浏览器中,用户一般不会在一个页面停留很久,即使有一点内存泄漏,重新加载页面内存也会跟 ...
- ArcGIS模型构建器ModelBuilder的使用方法
本文介绍在ArcMap软件中,基于模型构建器(ModelBuilder)完成模型建立与使用的具体方法. 首先,在ArcMap软件中打开"ModelBuilder". 建 ...
- Swift之struct二进制大小分析
作者:京东零售 邓立兵 随着Swift的日渐成熟和给开发过程带来的便利性及安全性,京喜App中的原生业务模块和基础模块使用Swift开发占比逐渐增高.本次讨论的是struct对比Class的一些优劣势 ...
- ChatGPT 与 Midjourney 强强联手,让先秦阿房宫重现辉煌!
Midjourney 是一款非常特殊的 AI 绘画聊天机器人,它并不是软件,也不用安装,而是直接搭载在 Discord 平台之上,所有的功能都是通过调用 Discord 的聊天机器人程序实现的.要想使 ...
- day110:MoFang:重新构造用户关系状态&添加好友&处理好友申请&获取申请好友历史记录&好友列表显示
目录: 1.用户关系状态:重新构造 2.添加好友 3.处理好友申请 4.获取申请好友历史记录 5.好友列表 day109+day110所学内容流程图 1.用户关系状态:重新构造 在day109博客的前 ...
- 利用Nextcloud搭建私有同步云盘
1. 简介 Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了W ...
- JUC(六)堵塞队列与线程池
堵塞队列 简介 def:在多线程中实现高效.安全的数据传输,主要是通过一个共享的队列,使得数据能够从一端输入,从另一端输出 当队列是空的,取数据的线程就会被堵塞,直到其他线程往空的队列中添加数据 当队 ...