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. 工作原理 一般我们主 ...
随机推荐
- kali 配置apt源、设置中文、安装googlepinyin输入法
配置apt源地址 kali 自带的apt源是国外的,更新网速很慢,这里我设置的是中科大的源. http://mirrors.ustc.edu.cn/help/kali.html 1.复制页面的源地址 ...
- 声网推出首个完整实时合唱解决方案 即将上线“咪哒”全国线下K歌房
4月20日,声网Agora宣布对实时合唱技术方案全面升级,帮助国内知名迷你KTV品牌"咪哒"实现国内首个支持多终端.多人合唱.高音质的完整实时合唱解决方案的落地,结束了国内K歌行业 ...
- java常用的数据类型有哪些
前言 在上一篇文章中,壹哥给大家讲解了Java中变量的定义.使用及基本原理等内容,这个内容并不是很难,但却是我们走向Java大神的第一步!壹哥希望你从第一天就要认真对待哦. 在前面讲解变量时,壹哥给大 ...
- Vue-Router 路由与配置
现在的很多应用都流行SPA应用(singe page application) . 传统的项目大多使用多页面结构,需要切换内容的时候我们往往会进行单个html文件的跳转,这个时候因受到网络.性能的影 ...
- js函数防抖节流
// 3.1 函数防抖: // 当持续触发事件时,一定时间段内没有再次触发事件,事件处理函数才会执行一次,如果设定时间到来之前,又触发了事件,就重新开始延时.// 也就是说当一个用户一直触发这个函数, ...
- Android开发踩坑日记
ViewModelProviders被弃用,改为ViewModelProvider ViewModelProvider使用方法 MyViewModel model = new ViewModelPro ...
- fluter usage---->动态更换Theme
应用中切换深色主题和暗色主题是比较常见的操作,今天我们就来学习一下Flutter中动态的切换主题. Simple Theme import 'package:flutter/material.dart ...
- 部署lnmp环境,安装typecho博客
安装nginx和PHP环境 root@cby:~# apt install nginx php7.4 php7.4-mysql php7.4-fpm 修改nginx配置文件 root@cby:~# v ...
- [MySQL]innodb_flush_log_at_trx_commit与sync_binlog
1 innodb_flush_log_at_trx_commit 辨析 innodb_flush_log_at_trx_commit = 0 : 每秒将日志缓冲区写入log file,并同时flush ...
- LeeCode 317周赛复盘
T1: 可被3整数的偶数的平均值 思路:数组遍历 被3整数的偶数 \(\Leftrightarrow\) 被6整数的数 public int averageValue(int[] nums) { in ...