iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >新的Java访问mysql数据库工具类的操作代码
  • 861
分享到

新的Java访问mysql数据库工具类的操作代码

2024-04-02 19:04:59 861人浏览 泡泡鱼
摘要

这是之前软工课设我写的java访问Mysql工具类,它经过了多轮的测试,应该能够适应大多数的操作需求。比之前大二写的更鲁棒,更易用。 package util; import

这是之前软工课设我写的java访问Mysql工具类,它经过了多轮的测试,应该能够适应大多数的操作需求。比之前大二写的更鲁棒,更易用。


package util;

import java.lang.reflect.Field;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.swing.JOptionPane;

public class JdbcUtilV2 {
    
    private static Connection connection = null;
    
    private static PreparedStatement preparedStatement = null;
    private static ResultSet resultSet = null;

    
    private static String username = "";
    private static String passWord = "";
    private static String driver = "";
    private static String url = "";

    
    public JdbcUtilV2(String dr, String ur,String user, String passwd) {
        try {
        	username = user;
        	password = passwd;
            driver = dr;
            url = ur;
            Class.forName(driver);
        } catch (Exception e) {
            System.err.println("连接失败,请检查连接参数");
            e.printStackTrace();
        }
    }

    
    private static Connection getConnection() {
        try {
            connection = DriverManager.getConnection(url, username, password);
        } catch (Exception e) {
        	JOptionPane.showConfirmDialog(null , "获取连接失败,请检查网络是否连通", "系统消息", JOptionPane.CLOSED_OPTION);
            e.printStackTrace();
        }
        return connection;
    }
    
    

    public ArrayList<HashMap<String, Object>> query(String sql, Object ...params){
        try {
            connection = getConnection();
            preparedStatement = connection.prepareStatement(sql);
            setPreparedStatement(params);
            resultSet = preparedStatement.executeQuery();
            ResultSetMetaData metaData = resultSet.getMetaData(); // key name
            int columnCount = metaData.getColumnCount(); // column count
            
            ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
            while(resultSet.next()) {
            	HashMap<String, Object> rowData = new HashMap<String, Object>();
            	for(int i = 1; i <= columnCount; ++i) {
            		rowData.put(metaData.getColumnName(i), resultSet.getObject(i));
            	}
            	list.add(rowData);
            }
            return list;
        }catch (Exception e){
            System.err.println("查询失败!");
            e.printStackTrace();
        } finally {
            close();
        }
        return null;
    }
    
    public boolean exists(String sql, Object ...params) {
        try {
            connection = getConnection();
            preparedStatement = connection.prepareStatement(sql);
            setPreparedStatement(params);
            resultSet = preparedStatement.executeQuery();
            return resultSet.next();
        }catch (Exception e){
            System.err.println("查询失败!");
            e.printStackTrace();
        } finally {
            close();
        }
        return false;
    }
    
    public boolean execute(String sql, Object ...params){
        try {
            //获取连接
            connection = getConnection();
            preparedStatement = connection.prepareStatement(sql);
            //对占位符进行赋值
            setPreparedStatement(params);
            //提交sql
            preparedStatement.executeUpdate();
            return true;
        } catch (Exception e){
            System.err.println("表更新失败!");
            e.printStackTrace();
        } finally {
            close();
        }
        return false;
    }
    
    public void executeVoidProc(String sql, Object ...params){
        try {
            //获取连接
            connection = getConnection();
            preparedStatement = connection.prepareStatement(sql);
            //对sql中的占位符进行赋值
            setPreparedStatement(params);
            
            preparedStatement.execute();
        }catch (Exception e){
            System.err.println("查询失败!");
            e.printStackTrace();
        } finally {
            close();
        }
    }
    
    private void setPreparedStatement(Object ... params) throws SQLException {
        if(params != null && params.length > 0){
            for(int i = 0; i < params.length; i++){
                if("null".equals(params[i])){
                    preparedStatement.setNull(i + 1, Types.NULL);
                }else{
                    preparedStatement.setObject(i + 1, params[i]);
                }
            }
        }
    }
    
 

    
    private void close() {
        if(resultSet != null) {
            try {
                resultSet.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            resultSet = null;
        }
        if(preparedStatement != null) {
            try {
                preparedStatement.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            preparedStatement = null;
        }
        if(connection != null) {
            try {
                connection.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            connection = null;
        }
    }

}

到此这篇关于新的Java访问mysql数据库工具类的文章就介绍到这了,更多相关Java mysql数据库工具类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 新的Java访问mysql数据库工具类的操作代码

本文链接: https://www.lsjlt.com/news/159577.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 新的Java访问mysql数据库工具类的操作代码
    这是之前软工课设我写的java访问mysql工具类,它经过了多轮的测试,应该能够适应大多数的操作需求。比之前大二写的更鲁棒,更易用。 package util; import ...
    99+
    2024-04-02
  • Android数据库操作工具类分享
    本文实例为大家分享了Android数据库操作工具类的具体代码,供大家参考,具体内容如下HistoryDAOpublic class HistoryDAO { private DBConnection dbc = null; privat...
    99+
    2023-05-30
    android 数据库 工具类
  • 用python操作mysql数据库(之代码归类)
    index.py 这里只是假设一个模拟登陆# -*- coding: utf-8 -*- """ Created on Sun Nov&...
    99+
    2024-04-02
  • Java访问数据库的具体步:
    本篇内容介绍了“Java访问数据库的具体步:”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:Java访问...
    99+
    2024-04-02
  • Java操作MongoDB数据库的示例代码
    目录环境准备 1.数据库操作 1.1获取所有数据库1.2获取指定库的所有集合名1.3.删除数据库2.文档操作 2.1插入文档 2.2查询文档 2.3分页查询 2.4修改文档2.5 删...
    99+
    2024-04-02
  • 详解java操作Redis数据库的redis工具(RedisUtil,jedis工具JedisUtil,JedisPoolUtil)
    该工具包含是封装了jedis,包含redis.properties和jedisPool,序列化使用的是protostuff,map类型操作使用的是fastjson 自己抽空写的,基本...
    99+
    2024-04-02
  • 【MySQL】C/C++代码操作数据库
    简单尝试使用c语言的库对mysql的数据进行增删改查 1.新增数据库和表 刚开始数据库没有设定密码和用户,直接用root用户登录 mysql -uroot; 创建一个hello数据库,并进入这个数据库 create database he...
    99+
    2023-08-19
    mysql 数据库 sql
  • jdbc访问数据库类的操作步骤是什么
    这篇文章给大家介绍jdbc访问数据库类的操作步骤是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。String driver="com.micsoft.sqlserver.jdbc.sqlserverDri...
    99+
    2023-06-03
  • MySQL 数据库的对库的操作及其数据类型
    目录1. 数据库的操作1.1 显示数据库1.2 创建数据库1.3 选中数据库1.4 删除数据库2. MySQL 中的数据类型2.1 数值类型2.2 字符串类型2.3 日期类型1. 数...
    99+
    2024-04-02
  • Java读取json数据并存入数据库的操作代码
    Java读取json数据并存入数据库 1. pom依赖 <dependency> <groupId>com.alibaba</gro...
    99+
    2024-04-02
  • 【MySQL】数据库的操作
    目录 前言 创建数据库 编码集和校验集 不同校验集的区别 删除数据库 确认当前数据库 查看数据库属性 修改数据库属性 备份与还原 数据库和表的备份 还原 创建表 查看列结构 查看表属性 修改表的列 修改表名称  修改列名称 删除表 前言...
    99+
    2023-09-14
    数据库 mysql
  • mysql-数据库的操作
    系统数据库执行如下命令,查看系统所有的数据库mysql> show databases;+--------------------+| Database           |+---...
    99+
    2023-01-30
    操作 数据库 mysql
  • java连接MySQL数据库的代码
    本文实例为大家分享了java连接MySQL数据库的具体代码,供大家参考,具体内容如下package connect; import java.sql.Connection; import java.sql.DriverManager; ...
    99+
    2023-05-31
    java mysql ava
  • 数据安全新时代:数据库访问控制的创新突破
    在数据主权和隐私意识日益增强的时代,数据库安全面临着前所未有的挑战。传统的身份验证和授权机制难以满足复杂的访问控制需求,需要创新性技术来应对不断演变的威胁。本文探讨了数据库访问控制领域的最新突破,旨在为企业提供数据安全的新途径。 最小权...
    99+
    2024-02-16
    数据库访问控制 | 数据库安全 | 最小权限原则
  • MySQL数据库中库的操作及数据类型有哪些
    这篇文章主要介绍了MySQL数据库中库的操作及数据类型有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 数据库的操作注意:SQL 语句不区分大小写,以下将以小写的语句...
    99+
    2023-06-21
  • Java操作pdf的工具类itext的处理方法
    目录一、什么是iText?二、引入jar三、iText常用类四、生成PDF步骤五、Java操作pdf的工具类itext六、更多的Java代码实例一、什么是iText? 在企业的信息系...
    99+
    2024-04-02
  • Java操作pdf的工具类itext怎么处理
    这篇“Java操作pdf的工具类itext怎么处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java操作pdf的工具类i...
    99+
    2023-06-30
  • MySQL的约束类型、数据库操作、数据表操作大全(简述)
    目录 一.数据库的操作语法 二.MySQL数据库约束 三.数据类型 四.数据表操作 作者简介: tq02,一个想成为编程高手的梦中人作者主页: tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主学习专栏:  &...
    99+
    2023-09-14
    数据库 mysql 笔记 sql
  • MySQL数据更新操作的两种办法(数据可视化工具和SQL语句)
    目录数据更新有两种办法:添加数据插入数据删除数据修改数据mysql千万级数据量更新操作总结数据更新有两种办法: 1:使用数据可视化工具操作 2:SQL语句 添加数据 前面的添加数据命令一次只能插入一条记录。如果想一次插入...
    99+
    2023-03-07
    mysql 数据更新 数据库怎么更新数据 mysql更新语句
  • C# MySQL数据库的操作
    文章目录 前言一、MySQL数据库二、使用步骤 1.引入库2.操作方法总结 前言 记录一下MySQL数据库一些简单操作 一、MySQL数据库 MySQL数据库也不用过多介绍,使用非常广泛。优点就是体积小,速度快,非常适合我们...
    99+
    2023-09-05
    c#
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作