Java连接mysql数据库的详细教程(推荐)

Java连接mysql数据库的详细教程

1. 准备工作

在开始连接数据库前,需要先准备好以下材料:
1. 安装并启动mysql数据库;
2. 下载并安装JDBC驱动。

2. 导入JDBC驱动

在编写Java代码之前,需要先导入JDBC驱动。可以从官方网站下载mysql JDBC驱动包,在项目中添加该jar包。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
</dependency>

3. 配置连接信息

在连接数据库之前,需要先配置连接信息,包括数据库地址、用户名和密码等。

String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8";
String user = "root";
String password = "123456";

其中url中的test为数据库名,useUnicode=truecharacterEncoding=utf8为设置连接编码为UTF-8。

4. 连接数据库

使用DriverManager类中的getConnection()方法连接数据库。

Connection conn = null;
try {
    // 加载mysql驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
    // 获取连接
    conn = DriverManager.getConnection(url, user, password);
    System.out.println("连接成功!");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

5. 执行SQL语句

连接成功后,可以执行SQL语句来进行数据的增删改查等操作。以下为两条示例:

5.1 查询数据

Statement stmt = null;
ResultSet rs = null;
try {
    stmt = conn.createStatement();
    String sql = "SELECT * FROM user";
    rs = stmt.executeQuery(sql);
    while(rs.next()){
        String name = rs.getString("name");
        int age = rs.getInt("age");
        System.out.println("name:" + name + " age:" + age);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

5.2 插入数据

Statement stmt = null;
int rows = 0;
try {
    stmt = conn.createStatement();
    String sql = "INSERT INTO user (name, age) VALUES ('zhangsan', 20)";
    rows = stmt.executeUpdate(sql);
    System.out.println("受影响的行数:" + rows);
} catch (SQLException e) {
    e.printStackTrace();
}

以上就是Java连接mysql数据库的详细教程,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接mysql数据库的详细教程(推荐) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java多线程之锁的强化学习

    Java多线程之锁的强化学习 在多线程编程中,锁是一种常用的同步机制。通过锁,我们可以保证多个线程互斥地访问共享资源,从而避免数据不一致或者并发竞争导致的错误。 本文将介绍Java中锁的使用方法及优化技巧,帮助读者快速掌握多线程编程中应用锁的技能。 概述 Java中提供了多种锁的实现方式,包括synchronized关键字、ReentrantLock类、Re…

    Java 2023年5月19日
    00
  • 有趣的JavaScript隐式类型转换操作实例分析

    下面是“有趣的JavaScript隐式类型转换操作实例分析”的完整攻略。 1. 什么是隐式类型转换 在JavaScript中,操作符通常期望得到一个具有特定数据类型的值。如果表达式的实际值类型与期望的不同,那么JavaScript会自动将它转换为期望的类型,这就是隐式类型转换。 2. 实例分析 下面将用两条实例来详细讲解隐式类型转换操作。 实例一:字符串加上…

    Java 2023年5月26日
    00
  • Java简易抽奖系统小项目

    Java简易抽奖系统小项目攻略 系统需求 本系统需要Java环境和命令行界面,可以在Windows、Linux和macOS等平台上运行。 实现步骤 第一步:初始化 本系统需要一个抽奖池,因此我们可以创建一个ArrayList来保存所有的奖品信息。同时,我们需要引入java.util.Random类生成随机数。 import java.util.ArrayLi…

    Java 2023年5月30日
    00
  • Java中的ClassCastException是什么?

    Java中的ClassCastException是一种运行时异常,当程序试图将一个ParentClass类型的对象转换为ChildClass类型的对象时,如果该ParentClass对象的实际类型不是ChildClass或其子类,则会出现ClassCastException。这通常会发生在Java中进行类型转换(即强制类型转换)时。 例如: ParentCl…

    Java 2023年4月27日
    00
  • Java常用时间工具类总结(珍藏版)

    下面详细讲解Java常用时间工具类总结(珍藏版)。 什么是Java时间工具类? Java时间工具类是在Java中为处理时间日期相关操作而设计的工具类库。Java开发者可以使用这些工具类方便地完成一些日常的时间日期操作,如日期加减、格式化、解析等操作。 常用时间工具类总结 Java中有很多优秀的时间工具类库,其中比较受欢迎和常用的有以下几个: 1. java.…

    Java 2023年5月20日
    00
  • 详解nodejs爬虫程序解决gbk等中文编码问题

    下面给出 “详解nodejs爬虫程序解决gbk等中文编码问题”的完整攻略。 背景 在编写爬虫程序时,如果在抓取中文网页时,如果网页编码为 gbk 或其他不是 utf-8 的编码,那么会因为编码不匹配而出现乱码,无法正确获取中文数据。因此必须对编码进行转换。 解决方法 方法一:使用iconv-lite包 iconv-lite 是一个将字符串从一种字符编码转换为…

    Java 2023年6月1日
    00
  • greenbrower用到的function.js代码集合第2/2页

    “greenbrower用到的function.js代码集合第2/2页”是一个由GreenBrowser浏览器作者开发的JavaScript函数库,可以帮助开发者快速开发网页或者扩展浏览器功能。 以下是对该库的详细讲解: 下载并引入库文件 首先,你需要下载并引入该函数库到你的项目中。该函数库的下载链接为:http://greenbrowser.sourcef…

    Java 2023年6月16日
    00
  • java计算代码段执行时间的详细代码

    下面我来详细讲解一下Java计算代码段执行时间的流程和代码。 问题背景 在开发过程中,我们常常需要测试代码的执行时间,以便优化和改进代码的性能。例如,我们需要知道某段代码的运行时间,以便在性能敏感的应用中进行优化,或者判断代码是否需要并行化等。 解决方案 Java提供了System.currentTimeMillis()方法和System.nanoTime(…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部