jdbc通过properties文件获取连接mysql8.0以上

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: jdbc通过properties文件获取连接mysql8.0以上

在resource文件下创建db.properties文件内容为

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbc?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=true
username=root
password=1234


创建基础类BaseDao.java引入properties文件内容

package com.peng.dao;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class BaseDao {
    private static String driver;
    private static String url;
    private static String username;
    private static String password;
static {
    Properties properties = new Properties();
    InputStream is = BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
    try {
        properties.load(is);
    } catch (IOException e) {
        e.printStackTrace();
    }
    driver=properties.getProperty("driver");
    url=properties.getProperty("url");
    username=properties.getProperty("username");
    password=properties.getProperty("password");
}
public static Connection GetConnection() throws Exception {
    Connection connection=null;
    Class.forName(driver);
    connection = DriverManager.getConnection(url, username, password);
    return connection;
}
//查询公共方法
public static ResultSet execute(Connection connection, PreparedStatement preparedStatement,ResultSet resultSet,String sql,Object[] params) throws SQLException {
  preparedStatement = connection.prepareStatement(sql);
    for (int i = 0; i < params.length; i++) {
        //setObject占位符从1开始,但是Object[]数组从0开始
        preparedStatement.setObject(i+1,params[i]);
    }
     resultSet = preparedStatement.executeQuery();
    return  resultSet;
}
//增删改公共方法
public static int execute(Connection connection,String sql,PreparedStatement preparedStatement,Object[] params) throws SQLException {
   preparedStatement = connection.prepareStatement(sql);
    for (int i = 0; i < params.length; i++) {
        //setObject占位符从1开始,但是Object[]数组从0开始
         preparedStatement.setObject(i+1,params[i]);
    }
    int update = preparedStatement.executeUpdate(sql);
    return update;
}
//释放资源
public static boolean close(Connection connection,PreparedStatement preparedStatement,ResultSet resultSet)  {
    boolean flog=true;
    if(resultSet!=null){
        try {
            resultSet.close();
            resultSet=null;
        } catch (SQLException e) {
            e.printStackTrace();
            flog=false;
        }}
        if(preparedStatement!=null){
        try {
            preparedStatement.close();
            preparedStatement=null;
        } catch (SQLException e) {
            e.printStackTrace();
            flog=false;
        }}
        if(connection!=null){
        try {
            connection.close();
            connection=null;
        } catch (SQLException e) {
            e.printStackTrace();
            flog=false;
        }
    }
        return flog;
}
}


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
30天前
|
分布式计算 关系型数据库 数据处理
Dataphin常见问题之没有建表的权限如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
1月前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
21 0
|
1月前
|
关系型数据库 MySQL 数据库连接
连接和管理RDS
连接和管理RDS
26 2
|
1月前
|
Ubuntu 关系型数据库 MySQL
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
|
1月前
|
关系型数据库 MySQL 数据安全/隐私保护
关于Navicat Premium连接MySQL出现2059错误解决方法
关于Navicat Premium连接MySQL出现2059错误解决方法
|
1月前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
369 3
|
23小时前
|
关系型数据库 MySQL 数据安全/隐私保护
使用Navicate连接Mysql过程详解
使用Navicate连接Mysql过程详解
4 0
|
9天前
|
SQL 关系型数据库 MySQL
DQL语言之连接查询(mysql)
DQL语言之连接查询(mysql)
|
12天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
31 0
|
20天前
|
存储 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT *、分页查询的优化、合理使用连接、子查询的优化)(上)