MySQL之JDBC

JDBC

简介

在日常工作中,一般都会使用代码来操作数据库,MySQL会给各种主流的编程语言提供API(现成的函数/类)从而达到用代码来操作数据库的目的
由于MySQL本身就是由 C/C++ 语言实现的,所以使用C/C++语言来操作数据库是最直接的,而使用其它语言来操作数据库,就需要按照MySQL服务器的要求,构造出对应的网络请求就好了。
而通过JAVA来操作MySQL就需要先得到MySQL的API,可以在MySQL的官方网站上寻找各种版本的API。(注意版本号的一致)如图:
在这里插入图片描述
用idea创建一个新项目,在项目目录下创建一个文件夹(与src、.idea在同级目录下,一般文件名为lib,文件名为其它也可),复制API至我们创建的文件夹内,弹出的对话框点确定,再右击创建的文件夹,选择add as library(意为添加到库),弹出的对话框点确定。这样就导包成功了。
而我们要做的就是用 java 语言 通过 MySQL 提供的 API 来操作数据库,这样的技术就叫做JDBC(全称:Java DataBase Connectivity standard 意为 JAVA 数据库连接标准), 如果连接其它种类的数据库(如 MongDB、Redis等)就需要其它的API接口,JAVA为了简化的对数据库操作的代码,就封装了JDBC,保证操作各种数据库的代码都基本一致。

JDBC的代码

在我们创建的项目里导包成功后,src目录下就可以新建一个 类文件 了。文件内容为:

// 在主函数里:
public static void main(String[] args) throws SQLException {
    // 先和 mysql 建立连接
    // 创建一个数据源,此处 DataSource 意为数据源是来自 javax.sql 里的类(需要在这个类里进行 import 导包),此处的 MysqlDataSource 是之前下载的 jar 包里导入的,也需要 import 导包,目录为com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    // 此处如果不使用向上转型也是完全可以的,后面也就不用向下转型了。之所以这么写是因为未来如果需要换一个数据库,改动就会更小。
    DataSource dataSource = new MysqlDataSource();
    // 给数据源设置一些属性(此处 Url 不是 URL ,因为要用到导包的类,所以需要对我们创建的数据源进行类型转换,调用其三个方法告诉代码数据库的服务器在哪里应该怎么进)
    ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://localhost:3306/lit?characterEncoding=UTF-8&useSSL=false");
    ((MysqlDataSource)dataSource).setUser("root");
    ((MysqlDataSource)dataSource).setPassword("root");
    // 通过 getConnection 方法来与服务器建立连接,这里则会报错,由于不能确定上面的信息是否正确,所以需要处理异常,这里用 throw 的方法来处理异常。
    Connection connection = dataSource.getConnection();

	// 拼装SQL语句 ,这个语句应满足 要操作的表在url里所指的数据库里,语句正确,满足要插入的表
    String sql = "insert into exam_result values (10,'lit',50,60,70)";
    // 执行SQL前的准备工作,我们需要一个 语句对象 PreparedStatement可以帮助我们很方便的动态的构造出一个SQL来
    PreparedStatement statement = connection.prepareStatement(sql);
    // 执行SQL语句
    // 当前执行的是 insert 语句, delete 和 update 语句 也使用 executeUpdate() 来完成
    // 如果是 select 语句 则用 executeQuery() 来完成
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值