要用的话,包名自己可以改一下:

 package com.usa3v.dreamcenter.util;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class MyDatabase { String url;
String user;
String password; Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null; /**
* 构造需要一个数组
* 该数组包含了三个信息
* URL , user , password
* @param str[]
*/ public MyDatabase(String str[])
{
this.url = str[0];
this.user = str[1];
this.password = str[2];
} /**
* 生命周期:
* connect连接数据库
* 数据的其它操作
* close关闭数据连接资源
*/ public void connect()
{
try {
System.out.println("加载驱动中...");
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("驱动加载成功!"); System.out.println("连接数据库中...");
conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功!"); } catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("\nfinally被调用,你必须手动"
+ "调用该类的close()方法关闭资源,否则后果自负!\n");
} } /**
* 增删改操作都可
* @param sql
*/
public void executeUpdate(String sql)
{
try {
System.out.println("\t执行sql语句:"+sql);
ps = conn.prepareStatement(sql);
ps.executeUpdate();
System.out.println("\t"+sql+"操作成功!");
} catch (SQLException e) {
System.out.println("\tmysql语法错误!");
}
} /**
* 查询某个记录是否存在
*/
public byte isExist(String sql)
{
try {
System.out.println("\t查询中...");
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println("\t查询结果已返回!"); rs.next(); if(rs.getString(1)!=null)
{
System.out.println("\t有结果");
return 1;
}else {
System.out.println("\t无结果1");
return 0;
} } catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("\t无结果2");
return 0;
}
} /**
* 返回整个结果集
*/
public ResultSet getResultSet(String sql)
{
try {
System.out.println("\t结果集加载中...");
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println("\t结果集加载成功!");
return rs;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("\t结果集加载失败!");
return null;
}
} public void close()
{
if(rs != null)
{
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps != null)
{
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null)
{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

用的是新版mysql的jar包,所以驱动加载用com.mysql.cj.jdbc.Driver

url例子:jdbc:mysql://localhost:3306/class?useSSL=false&serverTimezone=UTC

用户名密码看自己的设置了

目前是第一版,以后还会更新功能

记得用的话必须调用类中的close方法关闭来释放资源

自己写了一个mysql连接的工具类【java】的更多相关文章

  1. Druid连接池工具类

    package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...

  2. Android OkHttp网络连接封装工具类

    package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...

  3. 获取Spring容器中Bean实例的工具类(Java泛型方法实现)

    在使用Spring做IoC容器的时候,有的类不方便直接注入bean,需要手动获得一个类型的bean. 因此,实现一个获得bean实例的工具类,就很有必要. 以前,写了一个根据bean的名称和类型获取b ...

  4. JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)

    系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...

  5. python写的分析mysql binlog日志工具

    因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码: 1 2 3 4 5 6 7 8 9 10 11 ...

  6. java 写一个JSON解析的工具类

    上面是一个标准的json的响应内容截图,第一个红圈”per_page”是一个json对象,我们可以根据”per_page”来找到对应值是3,而第二个红圈“data”是一个JSON数组,而不是对象,不能 ...

  7. C# 基于创建一个mysql 连接池

    创建一个连接池操作类 using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using Syste ...

  8. 记录一个mysql连接慢的问题

    问题现象是这样的: 我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问.但是遇到一个问题就是使用下面两个命令行访 ...

  9. jdbc连接的工具类

    在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...

随机推荐

  1. 基于Python的face_recognition库实现人脸识别

    一.face_recognition库简介 face_recognition是Python的一个开源人脸识别库,支持Python 3.3+和Python 2.7.引用官网介绍: Recognize a ...

  2. fnt文字

    //fileName是fnt文件的path.在fnt文件的相同目录下有同名png文件.使用ShoeBox.exe生成fnt文件.在fnt文件中修改路径为类似number 及 number.png的格式 ...

  3. SharePoint资料

    链接:https://pan.baidu.com/s/1QOSShE02LYKXFtoJ58WCQQ 提取码:dnhs 复制这段内容后打开百度网盘手机App,操作更方便哦 SharePoint 200 ...

  4. [SDOI2016] 生成魔咒 - 后缀数组,平衡树,STL,时间倒流

    [SDOI2016] 生成魔咒 Description 初态串为空,每次在末尾追加一个字符,动态维护本质不同的子串数. Solution 考虑时间倒流,并将串反转,则变为每次从开头删掉一个字符,即每次 ...

  5. linux下部署Mono oracle配置,oracle客户端安装

    一.Mono,apache安装,配置网站(以 centos 7 +apache 2为例): 安装教程以官网的教程为追,百度来的多少有版本问题. mono官网连接: 1. Mono的安装:https:/ ...

  6. jquery如何将信息遍历到界面上

    1.使用的时候一定要导入juqery库 1.1 这里放置一个cdn的库 <script src="https://cdn.staticfile.org/jquery/1.10.2/jq ...

  7. 计算机网络,HTTP - 头部中带X前缀的头部字段

    HTTP中,什么是"X-" Prefix header? 例如 github API 的response headers有很多X前缀的头部: 查一下MDN文档: Custom pr ...

  8. JS高级---闭包小案例

    闭包小案例 普通的函数 //普通的函数 function f1() { var num = 10; num++; return num; } console.log(f1()); //11 conso ...

  9. 字节流和字符流的read方法

    字节流和字符流的read方法 public class Test { public void fileOutput() throws Exception { File file = new File( ...

  10. CAN总线电平(隐性与显性)

            CAN2.0B规范定义了两种互补的逻辑数值:显性和隐性.同时传送显性和隐性位时,总线呈现显性状态:同时传送显性状态位时,总线呈现显性状态:同时传送隐性状态位时,总线呈现隐性状态.显性数 ...