欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用JDBC连接数据库

程序员文章站 2024-03-09 14:54:23
...

前言

在用惯了mybatis连接数据库后,谁又想回到JDBC的时代呢?有人觉得这种老一套的东西根本不用记,上手能开发项目才是王道。我觉得不无道理,但是mybatis的底层其实也是原生的JDBC。了解底层,不仅能帮助记忆,有时还能很好地应对面试。这里的记录希望对刚学JDBC和用惯了Mybatis的人都有所帮助。

1. 创建数据库

使用JDBC连接数据库

2. 新建Maven项目

[1] 导入JDBC的连接包 (这里以5.x的版本为例)

 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
<!--后面两个包分别是测试包和lombok的包,这里只是为了方便开发-->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
</dependency>

[2] 编写pojo类
User.class

package com.gs.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private String pwd;
}

[3] 编写JDBC的连接代码 (重点)
<1> 加载驱动

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

<2> 获取Sql连接

//allowMultiQueries=true表示允许多条sql一起操作
String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
String username = "root";
String password = "123456";
Connection coon = DriverManager.getConnection(url, username, password);

<3> 创建一个执行sql语句的对象
这里有Statement 和 PreparedStatement两种(区别的话百度上就讲的很清楚了)

 Statement statement  = coon.createStatement();

<4> 执行sql 语句
若是增删改 使用 executeUpdate()这里没有返回的结果集
若是查询,使用executeQuery() 这里有返回的结果集

 //4.执行查询
String sql = "select * from user1;";
ResultSet rs = statement.executeQuery(sql);

<5> 遍历结果集 (可选)
<6> 关闭连接 (规范的话要判断非空才关闭)

完整的代码

package com.gs.test;

import org.junit.Test;

import java.sql.*;

public class testJDBC {
    static final String driver = "com.mysql.jdbc.Driver";
    static final String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";

    static final String username = "root";
    //static final String password = "123456";

    @Test
    public void QueryStatement() throws Exception {
        Connection coon = null;
        Statement statement = null;

        ResultSet rs = null;

        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取sql连接
        coon = DriverManager.getConnection(url, username, "");

        //3.创建一个查询
        statement  = coon.createStatement();

        //4.执行查询
        String sql = "select * from user1;";
        rs = statement.executeQuery(sql);


        //5.遍历结果集
        while (rs.next()){
            System.out.print("id:"+rs.getObject(1)+"\t");
            System.out.print("name:"+rs.getObject(2)+"\t");
            System.out.print("pwd:"+rs.getObject(3)+"\t");
            System.out.println();
        }
        rs.close();
        statement.close();
        coon.close();
    }
}

控制台的结果:
使用JDBC连接数据库

相关标签: Mysql