项目中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层的简单运用的更多相关文章

  1. OSI七层模式简单通俗理解

    OSI七层模式简单通俗理解 这个模型学了好多次,总是记不住.今天又看了一遍,发现用历史推演的角度去看问题会更有逻辑,更好记.本文不一定严谨,可能有错漏,主要是抛砖引玉,帮助记性不好的人.总体来说,OS ...

  2. jdbc框架-dbutils的简单使用

    jdbc框架-dbutils的简单使用 dbutils:是apache组织的一个工具类,jdbc的框架,更方便我们使用 使用步骤: 1.导入jar包(commons-dbutils-1.4.jar) ...

  3. JDBC增删改查简单测试

    首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...

  4. 根据juery CSS点击一个标签弹出一个遮罩层的简单示例

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. JDBC数据源(DataSource)的简单实现

    数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用.   数据源提供了一种简单获取数据库连接的方式,并能在内部通过一个池的机制来复用数据库连接,这样就大大减少创建数据 ...

  6. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  7. 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能

    说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...

  8. JDBC的概述和简单使用

    1. 概念 JDBC是 Java DataBase Connectivity 的简写,翻译过来就是 Java 操作数据库. 目的是使用统一的Java代码操作所有关系型数据库. JDBC实际是定义了一套 ...

  9. SpringBoot2.x入门教程:引入jdbc模块与JdbcTemplate简单使用

    这是公众号<Throwable文摘>发布的第23篇原创文章,收录于专辑<SpringBoot2.x入门>. 前提 这篇文章是<SpringBoot2.x入门>专辑的 ...

  10. JDBC【2】-- JDBC工作原理以及简单封装

    目录 1. 工作原理 1.1 加载驱动 1.1.1 类加载相关知识 1.1.2 为什么JDK 1.6之后不需要显示加载了? 1.2 驱动加载完成了,然后呢? 2. 简单封装 1. 工作原理 一般我们主 ...

随机推荐

  1. TCP通信聊天服务端和客户端(C/C++语言开发)附完整源码

    距离上次学Python写的Python实现简单聊天室已经过去好久了,现在学c++又写了一遍,其实过程差不多,无非是语法的变化,目前仅实现最简单的一对一的通信,然后改就是了,接下来应该是多线程了,话不多 ...

  2. java的maven项目打包成.exe可执行文件

    打包exe可执行脚本: 1.源代码maven项目写完后打包成可执行jar包,此处我使用的是assembly插件. <plugin> <groupId>org.apache.ma ...

  3. c++的thread小测试

    windows环境还用不了thread,得下一些mingw,弄了半天没弄好,直接用了商店中心就有的Ubuntu了,但是sudo install g++出现了下载不了的问题,解决方案:https://b ...

  4. 基于Sekiro的jsRPC的使用和安装

    什么是jsRPC 说实话在介绍 JSRPC 我向大家推荐一个库 Selenium-wire 感觉和JSrpc的原理很像 RPC指远程过程调用,APP里面的RPC大家比较熟悉了. 那什么是jsRPC,顾 ...

  5. Java并发夺命50问

    本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...

  6. Spring AOP——源码分析

    [阅读前提]:需了解 AOP 注解开发流程:链接 一.注解 @EnableAspectJAutoProxy 在配置类中添加注解@EnableAspectJAutoProxy,便开启了 AOP(面向切面 ...

  7. Mysql 备份方案

    一.为什么要备份 [1]容灾恢复:硬件故障.不经意的 Bug 导致数据损坏,或者服务器及其数据由于某些原因不可获取或无法使用等(例如:机房大楼烧毁,恶意的黑客攻击或 Mysql 的 Bug 等).[2 ...

  8. redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to "xxxxx"

    Java 连接 Redis所遇问题 1. 检查Linux是否关闭防火墙,或对外开放redis默认端口6379 关闭防火墙. systemctl stop firewalld 对外开放端口.firewa ...

  9. 选择KV数据库最重要的是什么

    本文分享自华为云社区<选择KV数据库最重要的是什么?>,作者:GaussDB 数据库 . 经常有客户提到KV数据库,但却偏偏"不要Redis".比如有个做安全威胁分析平 ...

  10. Promise合集

    Promise.all Promise.all 可以将多个 Promise 实例包装成一个新的 Promise 实例.所有的 Promise 对象都成功时返回的是一个结果数组,一旦有任何一个 Prom ...