JDBC

1 连接JDBC

jdbc是连接java和数据库的桥梁,对于不同的数据库,如果我们希望用java连接,我们需要下载不同的驱动。这里我们使用mysql数据库,下载驱动。

MySQL :: Download MySQL Connector/J (Archived Versions)

(版本自己选,操作系统选independent)

下载下来之后是应该压缩包

打开压缩文件,以下面这个目录为例,把上面图片里的这个jar包复制到javaweb这个大文件夹下

注意是javaweb这个文件夹下,不是里面的src文件夹。

 然后打开idea,在idea里的目录里找到这个包(在下面这张图里红色的),右键,选择“添加为库”,然后点击确定即可。

然后我们就可以开始写代码了,通过java来写sql语句操作数据库

package jdbc1;import java.sql.*;public class Database {public static void main(String args[]){try(//创建一个连接Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306","root","020809");//创建一个对象来执行sql语句Statement statement=connection.createStatement();//这两个东西都需要关闭,所以写进try里,自动关闭){//存放sql执行完毕的结果ResultSet resultSet=statement.executeQuery("select * from accounting_ledger.ledger");//打印while(resultSet.next()){System.out.println(resultSet.getString(2));}}catch(SQLException e){e.printStackTrace();}}
}

注意:

1.DriverManager.getConnection("jdbc:mysql://localhost:3306","root","020809");三个参数依次是数据库的url,用户名,密码。

右键,选择属性,我们就能看到url了。

2.  ResultSet resultSet=statement.executeQuery("select * from accounting_ledger.ledger");中的“accounting_ledger”是架构,和表不是一个概念。

  • 架构是数据库的一个逻辑容器,用于组织和隔离数据库对象。一个数据库可以包含多个架构。
  • 表是数据库中存储数据的基本结构,由行和列组成。每个表都属于一个特定的架构。

在MySQL中,通常一个数据库对应一个架构,而一个架构包含多个表。架构提供了对数据库对象的一种逻辑组织方式,而表则用于存储和管理实际的数据。

2.执行SQL语句

执行DQL (Data Query Language)

       //存放sql执行完毕的结果ResultSet resultSet=statement.executeQuery("select * from accounting_ledger.ledger");//打印while(resultSet.next()){System.out.println(resultSet.getString(2));}

statement类的executeQuery方法返回一个resultSet对象,这个方法只用来执行select语句。

如果想打印数据,除了上面的getString方法之外,还可以选择以其他类型返回数据,比如getInt。

这里的resultSet类会返回一个指针,指针指向第一行。列不是从0开始的

当指针指向第一行的时候,我们可以读取第一行的任意列。

如果我们希望读取第二行的数据,就再次调用next方法即可。

 执行DML (Data Manipulation Language)

int i = statement.executeUpdate("INSERT INTO accounting_ledger.user VALUES ('lyx', '12345');");System.out.println("lines changed "+i);

statement类的executeUpdate方法返回一个int,表明执行的语句更改了多少行,这个方法用来执行insert,delect之类的语句。

批量处理

当我们希望插入多条数据的时候,我们可以选择使用多次executeUpdate,也可以选择先将语句加入缓存:

statement.addBatch("INSERT INTO accounting_ledger.user VALUES ('lyx', '12345');")
statement.addBatch("INSERT INTO accounting_ledger.user VALUES ('lyx1', '12345');")
statement.addBatch("INSERT INTO accounting_ledger.user VALUES ('lyx2', '12345');")
statement.addBatch("INSERT INTO accounting_ledger.user VALUES ('lyx3', '12345');")

然后一次执行全部

statement.executeBatch();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/341478.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-VLAN间通信

之前复习了VLAN的概念以及几个接口类型。VLAN在二层可以实现广播域的划分,VLAN间可以实现二层通信,但是不能实现三层通信,需要借助其它方式。 一、概述 实际网络部署中一般会将不同IP地址段划分到不同的VLAN。同VLAN且同网段的PC之间可直接进…

windows安装RabbitMq,修改数据保存位置

1、先安装Erlang, Erlang和RabbitMQ有版本对应关系。 官网RabbitMQ与Erlang版本对应RabbitMQ Erlang Version Requirements — RabbitMQ 2、安装RabbitMQ。 3、修改数据保存地址。找到安装目录下的sbin文件夹,找到rabbitmq-env.bat,编辑文件…

Nvidia 推出了一款新型芯片,专为在家中运行人工智能而设计

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

小程序系列--4.协同工作和发布

一、小程序成员管理 1. 成员管理的两个方面 2. 不同项目成员对应的权限 3. 开发者的权限说明 4. 添加项目成员和体验成员 二、小程序的版本 1、小程序的版本 三、发布上线 1. 小程序发布上线的整体步骤 一个小程序的发布上线,一般要经过上传代码 -> 提…

vue3的福音框架arco.design

前言: 在vue2于2023年底正式宣布不在维护,vue3使用越来越频繁的时刻,我们实现项目的辅助框架也越来越多。element, iview, antd 等经典框架继续风靡一时,不过也有很多好的框架,功能也强大,比如我们今天说的…

基于人工蜂群算法多无人机轨迹规划

#生物背景 蜜蜂是一种群居生物,生物学家研究发现蜜蜂以跳舞的方式来交换蜜源信息。根据分工的不同,蜜蜂被分为三个工种:引领峰、跟随蜂、侦察蜂。 侦察蜂的职责是侦察蜜源(即蜜蜂的食物),一旦某一个侦察蜂…

7 - MySQL主从同步|主从同步模式

MySQL主从同步|主从同步模式 MySQL主从同步主从同步介绍主从同步工作过程主从同步结构模式配置主从同步一主一从同步结构一主多从同步结构主从从同步结构主主同步结构 主从同步模式主从同步结构模式复制模式 MySQL主从同步 主从同步介绍 存储数据的服务结构 主服务…

代码随想录 Leetcode707. 设计链表

题目: 代码(首刷看解析 2024年1月11日): class MyLinkedList { private:struct ListNode{int val;ListNode* next;ListNode(int val):val(val),next(nullptr){}};int size;ListNode* dummyHead; public:MyLinkedList() {dummyHead new List…

Java的helloworld、IDEA一些快捷键、导入模块

一、Java的helloworld IDEA管理Java程序的结构 1.project(项目、工程) 2.moudule(模块) 3.package(包) 4.class(类) 上级包含多个下级,开发程序也是创建工程再创建…

windows安装Elasticsearch后使用ik分词器报错解决办法

最近在学习Elasticsearch,安装完成后下载了ik分词器压缩到plugins目录下启动es报错如下: java.security.AccessControlException: access denied (“java.io.FilePermission” “D:…\plugins\ik-analyzer\config\IKAnalyzer.cfg.xml” “read”)咋一看…

最新消息:OpenAI GPT Store 正式上线,GPTs 应用商店来了!

原文链接 https://openaigptguide.com/gpt-store-and-chatgpt-team/ OpenAI推出的两款新产品和服务:GPT Store和ChatGPT Team,提供了许多全新的解决方案和功能,旨在帮助用户更轻松地使用和构建GPT工具,同时也增加了公司的收入来源…

黑马苍穹外卖学习Day5

文章目录 Redis学习Redis简介准备工作Redis常用数据类型介绍各数据类型的特点Redis常用命令字符串操作命令哈希操作命令列表操作命令集合操作命令有序集合操作命令通用操作命令 在Java中操作Redis导入Spring Data Redis坐标配置Redis数据源编写配置类,创建RedisTemp…