首页 > 其他分享 >JDBC工具类

JDBC工具类

时间:2023-02-20 23:24:21浏览次数:34  
标签:JDBC java throwables stmt import 工具 null conn

当完成JDBC操纵时,代码重复度特别高

这是之前代码

 

 

 

内容非常的繁琐,每一次都需要重新数据库,每一次都得释放资源。

所以有一个工具类

package util;

import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;

/*
JDBC工具类
*/
public class JDBCutils {
private static String url;
private static String user;
private static String password;
private static String driver;
/**
*文件的读取,只需要读取一次即可拿到这些值。使用静态代码块
*/
static{
//读取资源文件,获取值


try {
//1.创建Properties集合类。
Properties pro = new Properties();

//获取src路劲瞎的文件方式--->ClassLoader 类加载器
ClassLoader classLoader = JDBCutils.class.getClassLoader();
URL res = classLoader.getResource("JDBC.properties");
String path = res.getPath();
System.out.println(path);
//2.加载文件。
// pro.load(new FileReader("E:\\denglu\\src\\JDBC.properties"));
pro.load(new FileReader(path));
//3.获取属性,赋值
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
driver = pro.getProperty("driver");
//4.注册驱动
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

} catch (IOException e) {
e.printStackTrace();
}
}



/*
*获取链接
* 返回链接对象
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,user,password);

}
/*
*释放资源
*
*/
public static void close(Statement stmt,Connection conn){
if(stmt !=null){
try {
stmt.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

}
/*
*释放资源
*
*/
public static void close(ResultSet rs,Statement stmt, Connection conn){
if(stmt !=null){
try {
stmt.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(rs !=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

}
}

这里需要重新创建一个包

 

 

 

 

 这是资源包内容

package Login;

import util.JDBCutils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class login {
public boolean login(String username,String password){
if(username == null||password == null){
return false;
}
//链接数据库判断是否登录成功
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//1.获取链接
try {
conn = JDBCutils.getConnection();
//2.定义sql
String sql = "select * from test3 where username = '"+username+"'and password = '"+password+"'";

//3.获取执行sql的对象
stmt = conn.createStatement();
//4.执行查询
rs = stmt.executeQuery(sql);

//5.判断
return rs.next();
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
JDBCutils.close(rs,stmt,conn);
}


return false;
}

}


现在的主代码就特别的简单。。。。

 

标签:JDBC,java,throwables,stmt,import,工具,null,conn
From: https://www.cnblogs.com/zjq164/p/17139389.html

相关文章

  • Collections工具类
    Collections是一个操作Set、List和Map等集合的工具类Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对......
  • jdbc学习笔记
    JDBC尚硅谷https://www.bilibili.com/video/BV1sK411B71e?share_source=copy_web概述JDBC是连接Java和数据库的必要纽带MyBatis、HIBERNATE等都是封装了JDBC的应......
  • jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
    一、jienkins集成Maven1.安装Maven下载地址:https://maven.apache.org/download.cgiwget--no-check-certificatehttps://dlcdn.apache.org/maven/maven-3/3.9.0/bin......
  • 第十九章 特殊工具和技术
    第十九章特殊工具与技术控制内存分配重载new和deletenew表达式的工作机理:string*sp=newstring("avalue");//分配并初始化一个string对象string*arr=news......
  • Qt实现画图工具
    #include<QtWidgets>#include"mainwindow.h"#include"scribblearea.h"//![0]MainWindow::MainWindow(){scribbleArea=newScribbleArea;setCentralWidget(scr......
  • 开源BI工具DataEase
    在github上找到了一个比较好用的数据可视化开源项目Dataease,版风简洁明了,内部功能丰富强大。适合大部分想简单把自己写好的Excel数据和项目数据进行总结的人使用。开源项目......
  • 常用包管理工具, 国内换源操作以及源地址收集(npm, yarn, pip, docker, linux, github
    常用包管理工具的换源本文将保持更新,以适应不同时代软件源的变化;如发现软件源失效请留言提醒常用包管理工具,国内换源操作以及镜像源地址收集(npm,yarn,pip,doc......
  • JAVA工具类ObjectUtils.Null
    一、ObjectUtils.Null类作为一个空占位符,其中null具有另外一个含义。例如在HashMap中的HashMap.get(java.lang.Object)方法返回null如果这个Map包含null(也就是有一个ke......
  • Java基础知识(23)- Java虚拟机(JVM)- (2) | 常用的 JVM 性能调优监控工具
    在企业级Java应用开发中,Java程序运行过程中会经常遇到内存不足、内存泄露、线程死锁、CPU高占用等问题。部分问题在日常开发中可能会被忽视或被别变通的方法绕开(比如重......
  • 自带超多工具,好用又免费,这3款手机浏览器你用过了吗
    手机浏览器是我们手机中必备的一款软件APP,一款好用的浏览器,可以帮助我们提高工作效率,节省时间。对于懒癌患者来说,手机上安装各种各种的app很麻烦,下面给大家介绍自带超多的......