当前位置:网站首页>MySQL learning record 10getting started with JDBC

MySQL learning record 10getting started with JDBC

2022-07-06 08:26:00 Jatine

MySQL Learning record 10JDBC introduction

10.1 Database driven

The program transfers data through database driver and database
 Insert picture description here
And suppose we have MySQL、Oracle、Sql Server Etc , Are we going to install multiple drivers ? That's when JDBC.

10.2 What is? JDBC

JDBC(Java DataBase Connectivity) Namely Java Database connection , To put it bluntly, it is to use Java Language to operate the database . It turns out that we operate the database in the console SQL Statement to operate on the database ,JDBC Yes, it is Java Language sends to the database SQL sentence .
 Insert picture description here
 Insert picture description here

10.3 first JDBC Program

1、 Create a project , Create test database

CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `jdbcStudy`;

CREATE TABLE `users`(
 `id` INT PRIMARY KEY,
 `NAME` VARCHAR(40),
 `PASSWORD` VARCHAR(40),
 `email` VARCHAR(60),
 birthday DATE
);

INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)
VALUES(1,'zhangsan','123456','[email protected]','1980-12-04'),
(2,'lisi','123456','[email protected]','1981-12-04'),
(3,'wangwu','123456','[email protected]','1979-12-04')

2、 Import database driver
 Insert picture description here
3、 Write test code

import java.sql.*;

// first jdbc Program 
public class JdbcFirstDemo {
    
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    
        //1. The load driver 
        Class.forName("com.mysql.jdbc.Driver");  // Fixed writing , The load driver 

        //2. User information and url
        String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false";
        String username = "root";
        String password = "123456";

        //3. Successful connection  Connection On behalf of the database 
        Connection connection = DriverManager.getConnection(url, username, password);

        //4. perform sql The object of 
        Statement statement = connection.createStatement();

        //5. perform sql
        String sql = "SELECT * FROM users";

        ResultSet resultSet = statement.executeQuery(sql);// Return result set   The result set encapsulates all the results of our query 

        while (resultSet.next()) {
    
            System.out.println("id=" + resultSet.getObject("id"));
            System.out.println("name=" + resultSet.getObject("NAME"));
            System.out.println("password=" + resultSet.getObject("PASSWORD"));
            System.out.println("email=" + resultSet.getObject("email"));
            System.out.println("birthday=" + resultSet.getObject("birthday"));
        }

        //6. Release the connection 
        resultSet.close();
        statement.close();
        connection.close();
    }
}

 Insert picture description here

Step summary :
1、 The load driver
2、 Connect to database DriverManager
3、 Get executed sql The object of Statement
4、 Get the returned result set
5、 Release the connection

DriverManager

Class.forName(“com.mysql.jdbc.Driver”); // Fixed writing , The load driver
Connection connection = DriverManager.getConnection(url, username, password);

connection On behalf of the database
Database settings auto commit

URL

String url = “jdbc:mysql:// The host address : Port number / Database name ? Parameters 1& Parameters 2&…”;
mysql The default port number is 3306

Statement

statement.executeQuery();// Query operation return Resultset
statement.execute();// Carry out any sql
statement.executeUpdate();// to update 、 Insert 、 Delete All use this Returns the number of rows affected

ResultSet: Query result set , Encapsulates all query results
Gets the specified data type

resultSet.getObject();// If you don't know the type of column, use this
resultSet.getString();// Know the type of column and use the corresponding
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
...

Release resources

resultSet.close();
statement.close();
connection.close();

原网站

版权声明
本文为[Jatine]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202131825406373.html