// 包名
package com.zhulx.JDBC; // 导入实例类
import com.zhulx.pojo.Account; import java.sql.*;
import java.util.ArrayList;
import java.util.List; /**
* JDBC 快速入门
* **/
public class JDBC02 {
// throws Exception 说明此方法不会处理异常
public static void main(String[] args) throws Exception {
// TODO 把查询到的数据都放到ArrayList 【 返回给前端的数据 】
// 1. 注册驱动 【 固定写法 】 /**
* JDBC 常用接口和类
* (1) Driver 接口:加载驱动程序。
* (2) DriverManager 类:装人所需的 JDBC 驱动程序,编程时调用它的方法来创建连接。
* (3) Connection 接口:编程时使用该类对象创建 Statement 对象。
* (4) Statement 接口:编程时使用该类对象得到 ResultSet 对象。
* (5) ResultSet 类:负责保存 Statement 执行后所产生的查询结果。
*
* */ /**
* 任务:
* 查询account账户数据,封装Account对象中,并且存储到ArrayList中
* 1. 定义实体类Account 【就是有get和set函数的类就是实体类】
* 2. 查询数据,封装到ArrountList中
* 3. 将Account对象 存入ArrayList集合中
* ArrayList就是我返回给前端的数据是 【 对象数组 】
*/
// Class.forName("com.mysql.cj.jdbc.Driver"); // 2. 获取连接 【 就是关联数据库 】 访问 test 数据库
String url = "jdbc:mysql://127.0.0.1:3306/test";
String username = "root";
String password = "abc123";
Connection conn = DriverManager.getConnection(url, username, password); // 3. 定义 sql DQL
String sql = "select * from account"; // 4. 获取执行 sql 对象 statement
Statement stmt = conn.createStatement() ;
// 创建集合
List<Account> List; List = new ArrayList<>(); System.out.println(List);
// 5. 执行 sql 【返回值是受影响的行数】
ResultSet rs = stmt.executeQuery(sql); // 6. 处理结果遍历 rs 所有的数据
while(rs.next()) {
// ps: 1 2 3 都是行数
// 获取数据 每查询一个数据就创建一个对象然后放到数组里面
Account account = new Account();
System.out.println(account);
int id = rs.getInt(1);
String name = rs.getString(2);
double money = rs.getDouble(3) ; // 赋值
account.setId(id);
account.setName(name);
account.setMoney(money); // 存入集合
List.add(account);
} System.out.println(List); // 7. 释放资源
stmt.close();
conn.close();
rs.close();
}
}

JDBC后端实现查询功能逻辑的更多相关文章

  1. 精通SpringBoot--分页查询功能的实现

    本文将介绍如何实现分页查询功能,推荐使用github的pagehelper插件实现(事实上大家基本都是这么干的),但本文的实现方式和大多数不同,废话少说,现在就带着大家看看区别在哪里.先看pom.xm ...

  2. Thymeleaf前后端分页查询

    分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...

  3. OJ2.0userInfo页面Modify逻辑bug修复,search功能逻辑实现

    这周的主要任务:userInfo页面Modify逻辑bug修复,search功能逻辑实现. (一)Modify逻辑bug修复: 这里存在的bug就是在我们不重置password的时候依照前面的逻辑是不 ...

  4. 使用jdbc拼接条件查询语句时如何防止sql注入

    本人微信公众号,欢迎扫码关注! 使用jdbc拼接条件查询语句时如何防止sql注入 最近公司的项目在上线时需要进行安全扫描,但是有几个项目中含有部分老代码,操作数据库时使用的是jdbc,并且竟然好多都是 ...

  5. jQuery对标签select优化:实现模糊搜索查询功能

    由于select标签中的option条数较多,翻页查询比较麻烦,需要对select标签进行优化,解决方法是通过增加模糊查询功能来提高用户体验感. 优化后的界面如下: 在实现这个优化的过程中,参考了两个 ...

  6. 用Java实现异构数据库的高效通用分页查询功能

    不同数据库的分页查询语句有着较大区别,其中MySQL数据的limit offset语法最为简单,而SQL Server数据库和Oracle数据库的分页就比较复杂了. 网上常见的SQL Server和O ...

  7. go语言实战教程之管理员查询功能、退出功能

    前面第10节课内容中已经学习开发完成了管理员登陆功能.本节课我们将继续学习开发完成管理员信息查询功能.管理员退出功能 管理员信息查询功能 请求及路由映射 管理员信息查询接口 接口名称:获取管理员信息. ...

  8. Python与数据库[2] -> 关系对象映射/ORM[5] -> 利用 sqlalchemy 实现关系表查询功能

    利用 sqlalchemy 实现关系表查询功能 下面的例子将完成一个通过关系表进行查询的功能,示例中的数据表均在MySQL中建立,建立过程可以使用 SQL 命令或编写 Python 适配器完成. 示例 ...

  9. jsp 实现查询功能

    要求: 实现查询功能 1.数据库代码 create database mvce; use mvce; create table test2( id int not null identity, tna ...

  10. 使用juqery-ui完成联想查询功能

    最近公司的项目有个需求,需要使用联想查询功能.就是一个文本输入框,在输入的时候获取值去后端模糊查询然后按照列表显示在下面.效果如下图: 经过搜索找到这个插件,查阅资料可以完成这个功能,即可以实现静态数 ...

随机推荐

  1. 【GeoScene】一、创建、发布路网服务,并在代码中测试最短路径分析

    前言 网上关于GeoScene及GeoScene API for JavaScript的资料太少了,官方的技术支持又太慢了,最近把在项目中踩过的坑分享出来: **版本信息** GeoScene Pro ...

  2. 【FastDFS】环境搭建 01 跟踪器和存储节点

    FastDFS:分布式文件系统 它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站.视频网 ...

  3. 【Zookeeper】03 单机操作

    访问Zookeeper 开启Zookeeper服务程序: ./zkServer.sh start 启动Zookeeper客户端进行访问: ./zkCli.sh 运行打印: [root@VM-0-7-c ...

  4. 在本地主机使用anaconda3 安装MindSpore环境——教程(GPU版本)

    创建MindSpore虚拟环境 创建虚拟环境并安装依赖库 conda create -n mindspore python=3.7.5 cudatoolkit=10.1 cudnn=7.6.5 gmp ...

  5. [POI2012] PRE-Prefixuffix 题解

    前言 题目链接:洛谷. 题意简述 给出长为 \(n\) 的串 \(\texttt{S}\).求最大的 \(l\) 满足: \[2l \leq n \land \texttt{S}[1 \ldots l ...

  6. 【技术积累】如何处理Feign的超时问题

    在使用Feign进行微服务之间的通信时,由于网络延迟等原因,可能会出现请求超时的情况.为了解决这个问题,我们可以对Feign进行配置,设置超时时间. 配置Feign的超时时间 在使用Feign时,我们 ...

  7. .NET8 Blazor 从入门到精通:(二)组件

    目录 Blazor 组件 基础 路由 参数 组件参数 路由参数 生命周期事件 状态更改 组件事件 Blazor 组件 基础 新建一个项目命名为 MyComponents ,项目模板的交互类型选 Aut ...

  8. 【CMake系列】09-cmake install 一般文件 文件夹 代码文件

    上一节,我们学习了项目构建后.目标的安装,本节学习的内容是 对于一般文件,文件夹以及源代码的安装 本节的文件依然使用 file(WRITE xxx.xx) 来创建,不依赖额外的文件 本专栏的实践代码全 ...

  9. 代码随想录Day21

    669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保留在树 ...

  10. 基于Material Design风格开源的Avalonia UI控件库

    前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License)的Avalonia UI控件库:Material.Avalonia. 当前项目还处于alpha阶段 ...