当前位置:   article > 正文

【MySQL】JDBC的基础使用

【MySQL】JDBC的基础使用

系列文章目录

第一章 数据库基础
第二章 数据库基本操作
第三章数据库约束
第四章表的设计
第五章查询进阶
第六章索引和事务



前言

在前面对MySQL已经有了基本的认知,但是我们是要应用到开发中的,因此需要与Java相结合。即MySQL在Java中的应用。


一、JDBC基本概念

在Java中,使用JDBC这样的技术来操作MySQL。MySQL中提供了一系列的API供程序猿调用。jdbc是Java标准库所提供的,因此是自带的。但是如果要使用JDBC操作MySQL,就需要下载并导入MySQL的驱动包。

二、JDBC的准备工作

以我的MySQL版本(8.0)为例,下载地址为 MySQL驱动包
在下载的驱动包是以.jar结尾的文件。导入到lib包中,即存放第三方库的目录。
在这里插入图片描述

三、JDBC-Demo

在使用jdbc之前,还需要准备好数据库和数据表。虽然jdbc能够进行建表操作,但是一般都是提前创建好的。
1、设置数据库
DataSource:数据源,即要操作的数据库、数据是在哪里,因此在MySQL中需要设定好要访问的数据库名字、访问数据库的用户名和密码。

//使用MySQLDataSource 实现向上转型。
DataSource dataSource = new MysqlDataSource();
  • 1
  • 2

url:唯一资源定位符。通过url访问到数据库服务器,进一步进行增删改查。
url包括这么几个信息:IP地址、端口号、数据库名称、编码格式、加密通信(useSSL)


jdbc:mysql://127.0.0.1:3306/blog01?characterEncoding=utf8&useSSL=false
  • 1
  • 2

url并不需要强行记忆,使用的时候copy即可。
在jdbc中同样要获取用户名和密码

        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("密码");
  • 1
  • 2
  • 3

2、设置数据源之后,就需要与数据库建立连接,使用Connection类的方法建立连接。

Connection connection = dataSource.getConnection();
  • 1

3、虽然是通过Java操作数据库,但实际核心还是SQL,只不过是把SQL嵌入到Java中了。因此需要构造SQL语句并发送到数据库服务器上。
在下面我们是构造了一个字符串的SQL语句,通过PreparedStatement的预编译功能对SQL进行解析和校验。

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入id:");
        int id = scanner.nextInt();
        System.out.println("请输入姓名:");
        String name = scanner.next();
        //构造一个sql语句
        String sql = "insert into student2 values(" + id + ",'" + name + "')";
 PreparedStatement preparedStatement=connection.prepareStatement(sql);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

preparedStatement类对SQL进行校验,此外它的两种方法为executeUpdate和executeQuery应用场景不同。executeUpdate使用于增删改操作,而executeQuery适用于select操作。
int n 返回的是发生数据改变的行数。

		
		int n = preparedStatement.executeUpdate(sql);
        System.out.println(n);

        //释放资源
        preparedStatement.close();
        connection.close();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

小结

在本demo中,涉及到了三个类 DataSource、Connection、PreparedStatement
功能分别为设置数据源、建立连接、创建SQL语句对象。

四、JDBC进阶写法

在jdbc-demo中,我们可以发现这种写法可读性是比较差的。以下面的 sql对象为例,name是字符串类型,因此需要加上’ ’ 而使用拼接而成的字符串又显得晦涩。

String sql = "insert into student2 values(" + id + ",'" + name + "')";
  • 1

因此,我们有了下面的进阶写法。使用(?,?)进行占位符以备后续代码做出内容替换。
使用preparedStatement预编译对数据进行替换。

Scanner scanner = new Scanner(System.in);
        System.out.print("请输入id:");
        int ids = scanner.nextInt();
        //System.out.println(id);
        System.out.print("请输入姓名:");
        String names = scanner.next();
String sql = "insert into student2 values (?,?) ";

PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,ids);
        preparedStatement.setString(2,names);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

总结

JDBC是Java连接和使用数据库的关键技术,它的重复性很高,仍然需要多加练习。
源码JDBC的基础使用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/1018488
推荐阅读
相关标签
  

闽ICP备14008679号