JDBC数据库的连接

JDBC数据库的连接简介:本文以简洁的篇幅带领大家快速入门java连接数据库,以查询为演示方案。

推荐学习路线:JDBC数据库的连接->Connection(数据库连接对象)->Driud数据库连接池的使用->ResultSet->通过PreparedStatement预防SQL注入->JDBC增删改查案例讲解 大家跟着敲完基本就可以JDBC基础毕业了。

编写代码步骤创建工程,导入驱动jar包下载官网:https://downloads.mysql.com/archives/c-j/

注册驱动

代码语言:javascript代码运行次数:0运行复制# mysql5的注册驱动的办法。

Class.forName("com.mysql.jdbc.Driver");代码语言:javascript代码运行次数:0运行复制# mysql8的注册驱动的办法。

Class.forName("com.mysql.cj.jdbc.Driver");获取连接

代码语言:javascript代码运行次数:0运行复制Connection conn = DriverManager.getConnection(url, username, password);Java代码需要发送SQL给MySQL服务端,就需要先建立连接

定义SQL语句

代码语言:javascript代码运行次数:0运行复制String sql = “update…” ;获取执行SQL对象

执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象

代码语言:javascript代码运行次数:0运行复制Statement stmt = conn.createStatement();执行SQL

代码语言:javascript代码运行次数:0运行复制stmt.executeUpdate(sql); 处理返回结果

释放资源

具体操作创建新的空的项目,定义项目的名称,并指定位置对项目进行设置,JDK版本、编译版本创建lib导入驱动包将mysql的驱动包放在模块下的lib目录(随意命名)下,并将该jar包添加为库文件

在添加为库文件的时候,有如下三个选项 Global Library : 全局有效Project Library : 项目有效Module Library : 模块有效创建src与创建类快速入门代码建表语句

代码语言:javascript代码运行次数:0运行复制/*

Navicat MySQL Data Transfer

Source Server : 本机

Source Server Type : MySQL

Source Server Version : 80024

Source Host : localhost:3306

Source Schema : books

Target Server Type : MySQL

Target Server Version : 80024

File Encoding : 65001

Date: 01/12/2022 12:53:02

*/

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for book

-- ----------------------------

DROP TABLE IF EXISTS `book`;

CREATE TABLE `book` (

`reclD` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,

`title` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,

`type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,

`price` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL

) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

insert into book values("1", "Java Programming", "Computer", "20"),

("2", "Java EE Technology", "Computer", "41"),

("3", "Information System", "Computer", "37");代码语言:javascript代码运行次数:0运行复制package com.study.jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

/**

* JDBC快速入门

*/

public class JDBCDemo {

public static void main(String[] args) throws Exception {

//1. 注册驱动

Class.forName("com.mysql.cj.jdbc.Driver");

//2. 获取连接

// String url = "jdbc:mysql://127.0.0.1:3306/books"; // 如果是mysql5这样写

String url = "jdbc:mysql://localhost:3306/books?serverTimezone=GMT%2B8&useOldAliasMetadataBehavior=true"; // 如果是mysql8这样写

String username = "root";

String password = "1234";

Connection conn = DriverManager.getConnection(url, username, password);

//3. 定义sql

String sql = "select * from book";

//4. 获取执行sql的对象 Statement

Statement stmt = conn.createStatement();

//5. 执行sql

ResultSet rs = stmt.executeQuery(sql);

// //6. 处理结果

while(rs.next()){

// 获取数据

String recId = rs.getString(1);

String title = rs.getString(2);

String type = rs.getString(3);

double price = rs.getDouble(4);

System.out.print(recId + " ");

System.out.print(title + " ");

System.out.print(type + " ");

System.out.println(price);

System.out.println();

System.out.println("--------------");

}

//7. 释放资源

stmt.close();

conn.close();

}

}运行结果:


DNF悲剧的残骸套装属性介绍
历史悠久、风格多样、华夏民族的传统乐器——笛子