JDBC学习(一):连接数据库的几种方法

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: JDBC学习(一):连接数据库的几种方法

今天闲来无事,将之前学习的笔记都整理一下,下面几篇博客都是用来记录JDBC的学习过程。

思路说明均在代码段的注释中。


连接数据库的几种方法(需要添加驱动):


1、最原始的方法

package demo01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connection_java1234 {
  private static String dri = "com.mysql.jdbc.Driver";
  private static String url = "jdbc:mysql://localhost:3306/test" ;
  private static String user = "root";
  private static String password = "root";
  public static void main(String[] args){
    //加载驱动
    try {
      Class.forName(dri);
      System.out.println("加载驱动成功!");
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
      System.out.println("加载驱动失败!");
    }
    Connection con = null;
    try {
      con = DriverManager.getConnection(url,user,password);
      System.out.println("数据库连接成功!");
    } catch (SQLException e) {
      e.printStackTrace();
      System.out.println("数据库连接失败!");
    }finally {
      try {
        con.close();
        System.out.println("数据库关闭成功!");
      } catch (SQLException e) {
        e.printStackTrace();
        System.out.println("数据库关闭失败!");
      }
    }
  }
}


2、使用配置文件


java代码:

package demo01;
import java.io.InputStream;
import java.sql.DriverManager;
import java.util.Properties;
import org.junit.jupiter.api.Test;
import com.mysql.jdbc.Connection;
public class ConnectionTest {
  @Test
  public void testConnection5() throws Exception {
    //1. 加载配置文件
    InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
    Properties pros = new Properties();
    pros.load(is);
    //2. 读取配置信息
    String user = pros.getProperty("user");
    String password = pros.getProperty("password");
    String url = pros.getProperty("url");
    String driverClass = pros.getProperty("driverClass");
    //3. 加载驱动
    Class.forName(driverClass);
    //4. 获取连接
    Connection conn = (Connection) DriverManager.getConnection(url,user,password);
    System.out.println(conn);
  }
}


 配置文件jdbc.properties代码:

user=root
password=root
url=jdbc:mysql://localhost:3306/girls?rewriteBatchedStatements=true
driverClass=com.mysql.jdbc.Driver
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
317 2
|
7月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1204 1
|
4月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
176 13
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1177 11
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库中进行日期比较的多种方法介绍。
以上方法提供了灵活多样地处理和对比MySQL数据库中存储地不同格式地日子信息方式。根据实际需求选择适当方式能够有效执行所需操作并保证性能优化。
518 10
|
6月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
303 11
|
6月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
503 0
|
8月前
|
存储 算法 Java
实现不同数据库的表间的 JOIN 运算的极简方法
跨库计算是数据分析中的常见难题,尤其涉及多数据库系统时,表间 JOIN 操作复杂度显著提升。esProc 提供了一种高效解决方案,能够简化跨库 JOIN 的实现。例如,在车辆管理、交管和公民信息系统中,通过 esProc 可轻松完成如下任务:按城市统计有车公民事件数量、找出近一年获表彰的车主信息,以及按年份和品牌统计车辆违章次数。esProc 支持不同关联场景(如维表关联与主子表关联)的优化算法,如内存索引、游标处理和有序归并,从而大幅提升编码和运算效率。无论是同构还是异构数据源,esProc 均能灵活应对,为复杂数据分析提供强大支持。