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

 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. MySQL 分组并多行拼接 group_concat 用法

    数据源 user name     age 小红 18 小明 18 小芳 19 ------------------------------------------------------------ ...

  2. JS高级---案例:验证用户输入的是不是邮箱

    案例:验证用户输入的是不是邮箱 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  3. 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)

    Now that we understand the outer structure of the file, it's time to look closer to what's inside. T ...

  4. vs2010安装

    1.网盘上2010安装包可用,先下载到电脑上,然后找到setup文件,安装即可 2.下载插件,基本的文本对齐,tab键补齐等功能 3.测试hello world程序 4.出现的问题 一个文件夹下有多个 ...

  5. TD - 多选框 - CheckBox

    模板 模板1:TD //Html - checked="true" 默认选中 <input dojoType="bootstrap.form.CheckBox&qu ...

  6. C语言输入一个整数转化为字符串

    将数字转化为对应的字符,可以通过n%10+48来实现,也可以通过n%10+'0'来实现,因为‘0’的ASCII码的数值就是48 因为字符串‘0’ 对应的10进制 整数是48 字符串'9'对应的10进制 ...

  7. js模板引擎mustache介绍及实例

    在Javascript中 mustache.js是实现mustache模板系统. Mustache是一种没有逻辑的模板语法.它可以应用于HTML.配置文件.源代码等任何地方. 它通过使用散列或对象中提 ...

  8. 小白学 Python 爬虫(24):2019 豆瓣电影排行

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. SpringBoot:静态资源的访问和配置(转载)

    默认静态资源访问Spring Boot的默认静态资源的路径为: spring.resources.static-locations=classpath:/META-INF/resources/,cla ...

  10. 如何转proto

    找到对应协议在对应proto中的片段(片段的子也要提取),提出来 放到适合proto文件中(逻辑 || 功能近似协议聚集地) 转换成proto.js 替换 || 增加原有js内容