自己写了一个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 ...
随机推荐
- android 根据坐标返回触摸到的View
//根据坐标返回触摸到的Viewprivate View getTouchTarget(View rootView, int x, int y) { View targetView = null; / ...
- 题解 【Codefoeces687B】Remainders Game
题意: 给出c1,c2,...cn,问对于任何一个正整数x,给出x%c1,x%c2,...的值x%k的值是否确定; 思路: 中国剩余定理.详见https://blog.csdn.net/acdream ...
- 用户登录(php)
<!DOCTYPE HTML><html><head><meta charset="utf-8"><script type=& ...
- 快速ni
代码: while(p>0) (mul(a,b)) = a*b; { 等同于二分 if(p%2==1) mul(ans,a); 目的是为了二分个基数的二次方乘 ...
- MYSQL入门总结
创建数据库及创建表 create schema/database ttest(名字); //创建数据库 create table ttest(建好的数据库名字).new_table(表名字) ( a ...
- 菜单制作:ul li横向排列
CSS菜单制作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 阿里云ECS服务器CentOS7配置vsftps及其问题解决
前言 之前只在虚拟机中配过FTP服务器,今天买了云服务器,发现安装vsftpd后就是连不上,通过搜索了很多资料,最后找到了解决办法,系统是CentOS7,服务器类型是ECS 阿里云安全组配置 首先进入 ...
- java i++与++i的区别
i++是先赋值,然后再自+1:++i是先自+1,后赋值. 用代码表示就是: 若 a = i++; 则等价于 a=i;i=i+1; 而 a = ++i; 则等价于 i=i+1;a=i; 例子: int ...
- 页面中<link>和<script>标签
在html中,经常肯定会有js,css的引入 <head> <title>MyHtml</title> <link rel="stylesheet& ...
- Linux使用mount挂载samba共享文件夹
挂载smb的目录,使用读写644权限 mount -t cifs -o "rw,dir_mode=0644,file_mode=0644,username=username,password ...