Java的JDBC编程

1.什么是JDBC?
现在的应用系统大多都离不开数据库,Java程序访问数据库的基本方式是通过JDBC。JDBC(Java DataBase
Connectivity,Java数据库连接)技术的简称,是一种用于执行SQL语句的Java API。它由一组用Java编程语言编写
的类和接口组成。这个API由 java.sql.,javax.sql. 包中的一些类和接口组成,它为数据库开发人员提供了一
个标准的API,使它们能够用纯Java API 来编写数据库应用程序。
2.JDBC的工作原理:
JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用
的接口类。真正的数据库访问操作实现是由各自数据库厂商提供的。通常把厂商提供的特定于数据库的访问API称
为数据库JDBC驱动程序。
3.JDBC优势:
Java语言访问数据库操作完全面向抽象接口编程
开发数据库应用不用限定在特定数据库厂商的API
程序的可移植性大大增强
4.放驱动:new一个文件夹 jar包拷贝进去(lib) 点击 open modules settings 找到dependencies 点击+号 选择第一个然后选择目录文件

5.JDBC的流程(步骤):
开始——>加载数据驱动——>建立数据库连接——>创建操作命令——>执行SQL语句——>处理返回结果集——.>关闭结果集——>关闭操作命令——>关闭连接——>结束

6.准备一个数据库环境(代码如下)

drop database if exists `memo`;
create database if not exists `memo` default character set utf8 collate
utf8_general_ci;
use `memo`;
drop table if exists `memo_group`;
create table if not exists `memo_group`(
id int primary key auto_increment comment '便签组编号',
name varchar(8) not null unique key comment '便签组名称',
created_time datetime not null comment '创建时间',
modify_time timestamp comment '修改时间'
)engine innodb;
-- 默认分组
insert into `memo_group` (id,name,created_time) values (1, '默认组', now());
drop table if exists `memo_info`;
create table if not exists `memo_info`(
id int primary key auto_increment comment '便签编号',
group_id int not null comment '便签组编号',
title varchar(32) not null comment '便签标题',
content varchar(1024) not null default '' comment '便签内容',
准备数据库驱动包(比如: MySQL数据库的驱动包)
加载JDBC驱动程序
建立数据库连接
创建操作命令(statement)
执行SQL语句
处理结果集
is_protected char(1) not null default '0' comment '是否私密,0:公开 1:私密',
background enum('WHITE','RED','BLUE','GREEN') default 'WHITE' comment '背景颜
色',
is_remind char(1) default '0' comment '是否提醒,0:不提醒 1:提醒',
remind_time datetime comment '提醒时间',
created_time datetime not null comment '创建时间',
modify_time timestamp comment '修改时间'
)engine innodb;
-- 欢迎标签
insert into `memo_info`(id,group_id,title,content,created_time) values (1,1,'欢迎使
用','下面是使用手册',now());
drop table if exists `memo_share`;
create table if not exists `memo_share`(
id int primary key auto_increment comment '便签分享编号',
info_id int comment '便签编号',
mark varchar(32) not null default '' comment '分享备注',
share_time datetime not null comment '分享时间'
)engine innodb;
-- 欢迎标签分享
insert into `memo_share`(id,info_id,mark, share_time) values (1,1,'特别有意思的便签
APP',now());

java代码如下:

package com.xiaohui.jbdc;

import java.sql.*;

public class MyFirstjdbcCase {

    public static void main(String[] args) {

        try {
            //1
            Class.forName("com.mysql.jdbc.Driver");
            //2.url协议
            //jdbc:<databaseType>://<host>:<port>/<databaseName>?user=XXX&password=xxx
            //jdbc:mysql://127.0.0.1:3306/memo?user=root&password=980302  不能乱写
            String url = "jdbc:mysql://127.0.0.1:3306/memo?user=root&password=980302";
            Connection connection = DriverManager.getConnection(url);//
            //3.
            Statement statement = connection.createStatement();
            //4.
            String sql = " select id,name,created_time,modify_time from memo_group";
            //5.
            ResultSet resultSet = statement.executeQuery(sql);//封装一个结果集
            //6.
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                Timestamp createTime = resultSet.getTimestamp("created_time");
                Timestamp modifyTime = resultSet.getTimestamp("modify_time");
                System.out.println(id+""+name+""+createTime+""+modifyTime);
                //7.
                resultSet.close();
                //8.
                statement.close();
                //9.
                connection.close();
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

当要对表插入数据时候——对步骤4 5 6 7 进行一定的修改。部分步骤代码如下:
4.String sql = "insert into memo_group (name,created_time) values('世界','2019-06-27 17:03:00')";

5.int effect = statement.executeUpdate(sql);
6.直接删除
7.不需要
插入结果如下:在这里插入图片描述emmm,结果如图,喜欢jojo就写了两个替身的名字。未完待续,希望能帮助到其他人。扣no Dio 哒!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值