首页 > 编程语言 >Javaweb-JDBC-API详解

Javaweb-JDBC-API详解

时间:2024-09-09 11:48:07浏览次数:10  
标签:JDBC String mysql API sql rst import public Javaweb








package DUIXIANG;

public class Account {
private int id;
private String name;
private Double money;
public int getId(){
return this.id;
}
public void setId(int id){
this.id = id;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public Double getMoney(){
return this.money;
}
public void setMoney(Double money){
this.money = money;
}
}




package JDBC;
import DUIXIANG.Account;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JDBCDemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/mysql基础";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
//3.定义sql语句
String sql = "select * from account";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
//5.执行sql,ResultSet对象包含了SQL查询的结果集。它类似于一个表,有行和列。每一行代表查询结果中的一个记录,每一列代表记录中的一个字段。你可以通过ResultSet对象提供的各种方法(如next(), getString(String columnName), getInt(int columnIndex)等)来遍历结果集并获取数据。
ResultSet rst = stmt.executeQuery(sql);//执行DQL语句
List list = new ArrayList<>();
//6.处理结果
while (rst.next()) {
Account account = new Account();
int id = rst.getInt("id");
String name = rst.getString("name");
double money = rst.getDouble("money");
account.setId(id);
account.setName(name);
account.setMoney(money);
list.add(account);
}
for(int i = 0;i < list.size();i ++){
System.out.println(list.get(i).getId());
System.out.println(list.get(i).getName());
System.out.println(list.get(i).getMoney());
System.out.println("-----------");
}
//7.释放资源
rst.close();
stmt.close();
conn.close();
}
}





演示SQL注入
package JDBC;
import DUIXIANG.Account;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JDBCDemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/mysql基础";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
String n = "zhangsan";
String p = "' or '1' = '1";
//3.定义sql语句
String sql = "select * from users where username = '"+n+"' and password = '"+p+"'";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
//5.执行sql,ResultSet对象包含了SQL查询的结果集。它类似于一个表,有行和列。每一行代表查询结果中的一个记录,每一列代表记录中的一个字段。你可以通过ResultSet对象提供的各种方法(如next(), getString(String columnName), getInt(int columnIndex)等)来遍历结果集并获取数据。
ResultSet rst = stmt.executeQuery(sql);//执行DQL语句
//6.处理结果
if(rst.next()) {
System.out.println("登录成功");
}else {
System.out.println("登录失败");
}
//7.释放资源
rst.close();
stmt.close();
conn.close();
}
}





package JDBC;
import DUIXIANG.Account;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JDBCDemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/mysql基础";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
String n = "zhangsan";
String p = "' or '1' = '1";
//3.定义sql语句
String sql = "select * from users where username = ? and password = ?";
//4.获取执行sql的对象Statement
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,n);
pstmt.setString(2,p);
//5.执行sql,ResultSet对象包含了SQL查询的结果集。它类似于一个表,有行和列。每一行代表查询结果中的一个记录,每一列代表记录中的一个字段。你可以通过ResultSet对象提供的各种方法(如next(), getString(String columnName), getInt(int columnIndex)等)来遍历结果集并获取数据。
ResultSet rst = pstmt.executeQuery();//执行DQL语句
//6.处理结果
if(rst.next()) {
System.out.println("登录成功");
}else {
System.out.println("登录失败");
}
//7.释放资源
rst.close();
pstmt.close();
conn.close();
}
}





标签:JDBC,String,mysql,API,sql,rst,import,public,Javaweb
From: https://www.cnblogs.com/yesung0824/p/18404272

相关文章

  • RESTful api 与远程接口调用
       RPC( Remote Process Call) 远程接口调用的准确应用是程序与程序之间的通信 。程序 是在计算机中运行中的可用进程。进程之间的通信可以通过管道或者是消息。随着时代的发 展,应用程序的架构模式不断地简化。浏览器作为操作系统客户端和其他数据服务端连接的 可视......
  • 如何使用API接口获取 TaoBao 商品数据详情
    在电子商务的快速发展中,淘宝作为中国最大的电商平台之一,提供了丰富的API接口,使得开发者能够高效地获取淘宝商品的详细信息。这些信息包括商品的基本属性、价格、库存状态、销售策略、卖家信息等,对于电商分析、市场研究或者商品信息管理等场景非常有用。什么是淘宝API接口?淘......
  • 电商API:电子商务的隐形引擎
    在当今数字化时代,电子商务已经成为全球商业活动的重要部分。随着互联网技术的不断进步,电商API(应用程序编程接口)正在成为推动这一领域创新与发展的隐形引擎。但究竟什么是电商API,它又如何影响我们的在线购物体验呢?一、电商API的定义电商API是一套预定义的规则和协议,允许不同的软......
  • FastAPI模块化:为复杂应用程序提供清晰的结构
    开题描述:在现代软件开发中,随着应用程序规模的扩大和功能的增加,传统的单体架构逐渐暴露出其局限性。FastAPI,作为一款高性能的现代Web框架,通过其模块化设计提供了一种解决方案。本文将探讨FastAPI模块化如何为构建复杂应用程序提供清晰的结构,从而提高代码的可维护性、可扩展性和团队......
  • 构建模块化的FastAPI应用: 从用户认证到角色控制
    实现了用户身份验证及角色授权的基本功能。具体来说,当用户尝试访问某些资源时,系统会首先验证用户的身份,然后根据用户的角色来决定是否允许访问特定资源。例如,普通用户只能访问自己的信息,而管理员可以访问额外的管理界面。这种机制保证了系统的安全性,并且可以根据需要灵活地扩展不同......
  • JDBC详细知识点和操作
    javaweb的作用,属于中间者,负责逻辑处理这三部分互相协作组成了网页javaweb也就是这三部分一.数据库部分(略)二.javaweb程序1.JDBC概念:通过java代码操作数据库数据库种类有很多,比如Oracle,Mysql,DB2,我们一套代码需要和不同的数据库语言沟通所以就要引入不同的jar包。(1).Dri......
  • Javaweb-事务
    注意在当前窗口是修改了的:而在其他窗口是不修改的:select@@autocommit;修改为手动提交:......
  • Javaweb-多表查询案例
    数据准备DROPTABLEIFEXISTSemp;DROPTABLEIFEXISTSdept;DROPTABLEIFEXISTSjob;DROPTABLEIFEXISTSsalarygrade;--部门表CREATETABLEdept(idINTPRIMARYKEYPRIMARYKEY,--部门iddnameVARCHAR(50),--部门名称locVARCHAR(50)--部门所在地);-......
  • JavaWeb学习笔记,关于HTML的入门标签及属性
    一.HTML入门结构标签以及特点   以上标签即为HTML的入门标签,包括了HTML的基本框架结构标签以及部分常用标签,需要注意的是,HTML的语法松散,但我们更要严格要求自己,使用正常符合要求的代码格式,以免后期出现错误而无法及时发现问题,值得提起的还有,<h1>到<h6>是HTML中预定义好......
  • 【python爬虫】从腾讯API爬取美国疫情数据+制表
    最近(文章撰写时间为2020/6/118:40)疫情在中国情况好转,却在美国暴虐。本篇文章将爬取腾讯提供的美国疫情数据并制表。1.爬取数据调用API接口接口:https://api.inews.qq.com/newsqa/v1/automation/modules/list?modules=FAutoCountryMerge观察得到的数据:{ ..., "data":{ ......