自己写了一个mysql连接的工具类【java】
要用的话,包名自己可以改一下:
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】的更多相关文章
- Druid连接池工具类
package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...
- Android OkHttp网络连接封装工具类
package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...
- 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
在使用Spring做IoC容器的时候,有的类不方便直接注入bean,需要手动获得一个类型的bean. 因此,实现一个获得bean实例的工具类,就很有必要. 以前,写了一个根据bean的名称和类型获取b ...
- JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)
系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...
- python写的分析mysql binlog日志工具
因为数据库增删改突然暴增,需要查询是那些表的操作特别频繁,写了一个用来分析bin-log的小工具,找出增删改查的表,并按照操作次数降序排列,以下是代码: 1 2 3 4 5 6 7 8 9 10 11 ...
- java 写一个JSON解析的工具类
上面是一个标准的json的响应内容截图,第一个红圈”per_page”是一个json对象,我们可以根据”per_page”来找到对应值是3,而第二个红圈“data”是一个JSON数组,而不是对象,不能 ...
- C# 基于创建一个mysql 连接池
创建一个连接池操作类 using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using Syste ...
- 记录一个mysql连接慢的问题
问题现象是这样的: 我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问.但是遇到一个问题就是使用下面两个命令行访 ...
- jdbc连接的工具类
在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...
随机推荐
- flask入门(三)
表单 request.form 能获取POST 请求中提交的表单数据.但是这样不太安全,容易受到恶意攻击.对此,flask有一个flask-wtf扩展,用于避免这一情况 在虚拟环境下用pip inst ...
- 修改json数据中key(键值)
//方法一:修改JSONObject的键 public static JSONObject changeJsonObj(JSONObject jsonObj,Map<String, String ...
- 论Mac与windows的STS下的路径问题
mac下的 <!-- javaBean生成在哪里 --> <javaModelGenerator targetPackage="com.atcrowdfunding.bea ...
- SVN merge(合并) 时看不到以前的已经合并过的记录的标识
今天遇到这么一个事情,merge的时候以前merge过的提交记录,咩有已合并过的标识了,就是下面这样的尾巴分叉向下的箭头 通常出现这样的情况,都是工程路径不对,检查了一下,没有问题,这些meng B ...
- echarts 设置默认选中,单选
默认选中 和 不选中 传送门
- 使用Unity3d和C#的一些属性来设置特殊行为
使用 Unity 的C#语言 ,利用属性(Attribute)来类定义和变量定义或区分其他的变量,您可以设置一种特殊行为 例如,您添加[SerializeField]属性变量,私有变量标识序列化. [ ...
- Linux - Deepin Linux,intel无线网卡下载慢、不能跑满宽带的解决方案
解决方案 将 /etc/modprobe.d/iwlwifi.conf中的11n_disable=1删掉,重启. 参考 https://bbs.deepin.org/forum.php?mod=vie ...
- 查看gcc编译器版本
我们在windows下DS5中编译时使用GCC交叉编译器,但是在ubuntu时也需要使用GCC编译器,这时最好时保持版本一致,所以就需要查看windows下版本,如下图,在按装的文件夹中找到对应得文件 ...
- jenkins部署到Tomcat下
一.首选要下载与安装jdk,因为需要在Java环境下面运行,安装好jdk后配置java环境变量(jdk环境变量的配置网上很多) 我本人安装的是jdk1.8 二.安装好jdk后,需要下载tomcat,这 ...
- k8s集群应用例如jenkins启动问题排查思路
k8s集群应用例如jenkins启动问题排查思路 待办 rancher上的事件报告>pods日志>pods内容器日志(现获取容器id再查看容器日志,获取容器id 使用的是相应问题pod的名 ...