项目中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. 如何通过Java更改Word中的页面大小和页面方向

    新建的 Word 文档,默认纸张为 A4 纸,大小为 21 厘米 × 29.7 厘米,没特殊要求的文档用 A4 纸即可,但有时文档中的内容比较宽,需要用比 A4 纸更宽的纸张,例如制作一些宽的表格,就 ...

  2. java多线程--3 线程状态、线程方法、线程类型

    java多线程--3 线程状态.线程方法.线程类型 线程状态 创建状态: **就绪状态: ** 进入状态: 创建状态:启动线程 阻塞状态:阻塞解除 运行状态:释放CPU资源 阻塞状态: 进入状态: 运 ...

  3. 爬取网页的通用代码框架.py(亲测有效)

    import requests def getHTMLText(url): try: kv = {'user-agent':'Mozilla/5.0'} r = requests.get(url,he ...

  4. Redis面试必问题(一)缓存穿透、缓存击穿、缓存雪崩

    一.缓存穿透(数据库没有,缓存没有) 1.概念 当查询Redis中没有数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当出现大量这种查询(或被恶意攻击)时,接口的访问全部透过Redis访问数 ...

  5. [BUUCTF]Pwn刷题记录

    本部分内容长期更新,不再创建新文章影响阅读 rip 根据IDA加载入main函数声明发现s数组距离rbp的距离为F,即为15,这里的运行环境是64位,所以应当将Caller's rbp的数据填满,在这 ...

  6. 3d基础 - 从模型坐标到屏幕坐标

    在 3D 引擎中,场景通常被描述为三维空间中的模型或对象,每个模型对象由许多三维顶点组成.最终,这些模型对象将在平面屏幕上呈现和显示. 渲染场景始终相对于摄像机,因此,还必须相对于摄像机的视图定义场景 ...

  7. python之pdf转换操作 PyMuPDF库学习

    1. 资料链接github地址: pymupdf/PyMuPDF: Python bindings for MuPDF's rendering library官方手册: PyMuPDF Documen ...

  8. [人生感悟]做人、做事的"人生十悟"【转载】

    做人.做事.做官,是不少人需要经常面对和正确把握的大问题,处理好了,则健康成长,反之则裹足不前,甚至掉入人生的一个个"陷阱",这其中有规律可循,总结"十悟"可思 ...

  9. Mysql简明语法

    show databases ; use mybatis; show tables ; select * from user; select * from user where id=1; updat ...

  10. 数据泵:oracle数据泵导入导出部分用户

    问题描述:需要将140服务器中的tbomnew实例下的部分用户导入到118服务器下的tbompx实例中,本次导入导出的两个数据库均为19C 部分用户名:CORE,MSTDATA,BOMMGMT,CFG ...