JDBC复习(CURD)详细步骤以及原理剖析

上进小菜猪 发表于 2022/10/30 23:52:15 2022/10/30
【摘要】 一.JDBC复习 1.1 什么是JDBC?JDBC的全称是:Java Database connect (Java数据库连接)原理图如下:准备需要Jar包支持:1.java.sql2.javax.sql3.mysql-conneter-java 链接驱动(这个必须要导入) 1.2 实验环境搭建1.创建新的项目工程文件,起名为java-jdbc。2.新建mysql数据表。字符集选择UTF...

一.JDBC复习

1.1 什么是JDBC?

JDBC的全称是:Java Database connectJava数据库连接

原理图如下:

image-20220905125152875

准备需要Jar包支持:

1.java.sql

2.javax.sql

3.mysql-conneter-java 链接驱动(这个必须要导入)

1.2 实验环境搭建

1.创建新的项目工程文件,起名为java-jdbc。

2.新建mysql数据表。字符集选择UTF-8:

image-20220905145125964

新建表,内容如下:

image-20220905145844882

插入一条如下数据:

1 zhu 123456 123@qwe.com 2022-09-05

3.在主工程的pom.xml里映入mysql驱动:如下代码:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
</dependencies>

4.在idea里的数据库里链接本地的mysql数据库:

image-20220905150242680

5.因为我们的本地数据库名称为:jdbc_demo,用户名为root,密码为123456,所以我们配置好之后,要记得写数据库名:

image-20220905150631952

6.配置成功之后,使用idea可视化mysql数据库结果如下:

image-20220905150805496

1.3 链接mysql

1.新建项目接口(在src下的java文件下),接口名为:

com.zhu.jdbc

2.新建类testjdbc,使用 JDBC 连接 MySQL 数据库:

MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL

String JDBC_DRIVER = "com.mysql.jdbc.Driver";      
String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";     

MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL

String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";      
String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

3.解决中文乱码问题:

useUnicode=true&characterEncoding=UTF8

4.先有如下配置

链接mysql(路径)

String url="jdbc:mysql://localhost:3306/jdbc_javademo?user=root&password=root&useUnicode=true&characterEncoding=UTF8";

连接mysql的用户名和密码:

String username="root";
String password ="";

5.加载驱动:(报错直接抛出异常即可)。

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

6.链接数据库,connection这时代表数据库:

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

7.向数据库发送sql的对象statement:增删改查

Statement statement = connection.createStatement();

8.编写sql,查询sql表,查找名为jdbc_javademo表里的全部内容。

String sql = "select * from jdbc_javademo";

9.执行sql,返回一个resul,结果集:

ResultSet resultSet = statement.executeQuery(sql);

10.执行一个遍历输出,将sql表里的所有数据都遍历输出到控制台:

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"));
}

11.记得用完之后,关闭资源,避免资源的浪费。

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

12.局部执行:

image-20220905155030840

13.观察执行结果:

id=1
name=zhu
password=123456
email=123@qwe.com
birthday=2022-09-05

遍历输出无误。

1.4 JDBC固定步骤

1.加载驱动

2.连接数据库,代表数据库

3.向数据库发送SQL的对象Statement: CRUD

4.编写SQL (根据业务,不同的SQL)

5.执行SQL

6.关闭连接

1.5 增删改查小Demo(预编译)

1.增删改都是使用executeUpdate,返回的值i代码受影响的行数。

int i = statement.executeUpdate(sql);

2.新建一个类文件,名为:restjdbc2

3.编写sql:

String sql ="insert into jdbc_demo(id,name,password,email,birthday) value (?,?,?,?,?)";

4.预编译:

PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1,2);
preparedStatement.setString(2,"上进小菜猪");
preparedStatement.setString(3,"1234");
preparedStatement.setString(4,"213@sr.we");
preparedStatement.setDate(5,new Date(new java.util.Date().getTime()));

5.执行sql语句:(增删改查都用这个方法)。

int i = preparedStatement.executeUpdate();

6.如果执行的行数大于0,就说明成功执行了插入的语句。

if(i>0)
{
    System.out.println("插入成功了!");
}

7.记得关闭资源,防止资源浪费:

preparedStatement.close();
connection.close();

8.运行该类,效果截图如下:

image-20220905162038314

image-20220905162048374

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。