JDBC简单实现代码(FirstDay)

所有实例均在我的github私有仓库

JDBC(Java Database Connectivity)是一个java api,可以用来访问任何类型的表列数据,尤其是关系型数据库。我正在使用的就是mysql。

一、建立java工程,导入jar包。

  在项目底下新建包libs,将mysql的驱动jar包放入。jar包可以去网上下载,要是以前使用过,可以在用户目录下的.m2文件夹内找到。
在这里插入图片描述
在这里插入图片描述
  导入jar包后,需要我们手动将jar包添加至路径内,ctrl+alt+shift+s打开project structure。点击加号,找到jar包之后,点击apply,即可导入jar包。如果想删除jar包,点击减号,可以将jar包导出。
在这里插入图片描述
至此jar包导入完成。

二、简单程序

建立一个新的数据库test,新建一张表employees。
打开cmd,进入mysql。执行下列语句,即可建立。

create database test;
use test;
create table employees(
	id int primary key not null auto_increment,
	name varchar(45)  not null,
	age int not null
	);

执行完成之后可以使用desc employees;查看表结构,如图。
在这里插入图片描述
在表中插入几条数据

insert into employees(name,age)
values('Jenny','34'),
	  ('Bob','35'),
	  ('Amy', '33'),
	  ('Grace', '23'),
	  ( 'Earl', '45'),
	  ('Bill', '25');

初始化jdbc驱动

Class.forName(JDBC_DRIVER);

创建连接对象

Connection conn = DriverManager.getConnection(DB_URL,user,password);

执行一条sql语句

Statement stmt = conn.createStatement();
String sql = "SELECT * FROM employees";

查看查询结果,从结果集里取出数据。

while (rs.next()){
    int id = rs.getInt("id");
    String name = rs.getString("name");
    int age = rs.getInt("age");S
    System.out.println("id: " + id +" ,name: " + name + " ,age: " + age);
 }
    rs.close();
    stmt.close();
    conn.close();

大致代码如下

import java.sql.*;

/**
 * @author:Aurevoir
 * @date: 2020/2/1  12:17
 */
public class FirstExample {

    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
    //为了防止出现时区错误
    static final String user = "你自己的用户名";
    static final String password = "你自己的密码";

    public static void main(String[] args) {
   		Connection conn = null;
        Statement stmt = null;
        try{
            //注册驱动
            Class.forName(JDBC_DRIVER);

            System.out.println("Connecting to database...");
            Connection conn = DriverManager.getConnection(DB_URL,user,password);
            System.out.println("Creating statement");
            Statement stmt = conn.createStatement();
            String sql = "SELECT * FROM employees";
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println("id: " + id +" ,name: " + name + " ,age: " + age);
            }
            rs.close();
            stmt.close();
            conn.close();
        }catch (SQLException se){
            se.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try{
                if(stmt != null)
                    stmt.close();
            }catch (SQLException se2){
                se2.printStackTrace();
            }
        }
        System.out.println("BYE!");
    }
}

执行后结果如下

Connecting to database...
Creating statement
id: 1 ,name: Jenny ,age: 34
id: 2 ,name: Bob ,age: 35
id: 3 ,name: Amy ,age: 33
id: 4 ,name: Grace ,age: 23
id: 5 ,name: Earl ,age: 45
id: 6 ,name: Bill ,age: 25
BYE!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值