首页 > 其他分享 >JDBC--API--PreparedStatement

JDBC--API--PreparedStatement

时间:2023-04-21 19:23:45浏览次数:40  
标签:JDBC String -- System Scanner PreparedStatement sql println out

  1.  

  2. 案例:

     

     

  3. 代码实现:

     

     

    package JDbc;

    import java.sql.*;
    import java.util.Scanner;

    public class jdbcdome_PreparedStatement {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    Class.forName("com.mysql.jdbc.Driver");
    String url="jdbc:mysql://127.0.0.1:3306/homework?useSSL=false";
    String user="root";
    String password="1234";
    Connection connection = DriverManager.getConnection(url, user, password);

    Scanner scanner=new Scanner(System.in);
    System.out.println("亲输入账号");
    int name = Integer.parseInt(scanner.nextLine());
    System.out.println("亲输入密码");
    String paw = scanner.nextLine();
    String sql ="select *from lyj where id='"+name+"'and sid='"+paw+"'";
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery(sql);
    if (resultSet.next()){
    System.out.println("登录成功");
    }else {
    System.out.println("登录失败");

    }
    resultSet.close();
    statement.close();
    connection.close();

    }
    }
  4. sql注入

     

  5.  

    navicat中的sql注入:

     

  6.  

    解决sql注入:通过字符串拼接时候的转译(/)实现

     

  7.  

    代码实现:

     

    package JDbc;

    import java.sql.*;
    import java.util.Scanner;

    public class PreparedStatement {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    Class.forName("com.mysql.jdbc.Driver");
    String url="jdbc:mysql:///homework?useSSL=false";
    String user="root";
    String password="1234";
    Connection connection = DriverManager.getConnection(url, user, password);
    Scanner scanner=new Scanner(System.in);
    System.out.println("亲输入账号");
    int name = Integer.parseInt(scanner.nextLine());
    System.out.println("亲输入密码");
    String paw = scanner.nextLine();
    String sql ="select *from lyj where id=? and sid=?";
    java.sql.PreparedStatement preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setInt(1,name);
    preparedStatement.setString(2,paw);
    ResultSet resultSet = preparedStatement.executeQuery();
    if (resultSet.next()){
    System.out.println("执行成功");

    }else {
    System.out.println("执行失败");
    }

    }
    }

     

标签:JDBC,String,--,System,Scanner,PreparedStatement,sql,println,out
From: https://www.cnblogs.com/lyjzht/p/17341478.html

相关文章

  • xv6 exec系统调用
    exec是一个创建用户地址空间的系统调用。根据一个存储在文件系统中的file来创建用户地址空间。具体来说,intexec(char*path,char**argv)exec使用namei打开指定的二进制文件路径(kernel/exec.c:26)。exec读取ELF(可执行与可链接格式)文件头。xv6应用程序遵循广泛使用的......
  • 老杜 JavaWeb 讲解(四) ——Servlet编写JDBC连接数据库
    老杜 JavaWeb 讲解对应视频:08-servlet中编写jdbc程序连接数据库(六)在Servlet(Java小程序)中编写JDBC连接数据库6.1JDBC介绍:JDBC的全称是Java数据库连接(JavaDatabaseconnect),它是一套用于执行SQL语句的JavaAPI。[1]JDBC(JavaDataBaseConnectivity)是Java编程语言中......
  • 电解电容符号及使用方法
    符号1.隔直流:作用是阻止直流通过而让交流通过。2.旁路(去耦):为交流电路中某些并联的组件提供低阻抗通路。3.耦合:作为两个电路之间的连接,允许交流信号通过并传输到下一级电路4.滤波:这个对DIY而言很重要,显卡上的电容基本都是这个作用。5.温度补偿:针对其它组件对温度的适应性不够带来......
  • mac M2 设置JAVA_HOME不生效
    1.打开终端2.如果不存在可以使用touch.bash_profile创建一个新文件3.复制一下内容,惟一要更改的是版本号open-e.bash_profileJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/HomePATH=$JAVA_HOME/bin:$PATH:.CLASSPATH=$JAVA_HOME/lib/tool......
  • Kubernetes中使用Helm2的安全风险
    参考 http://rui0.cn/archives/1573英文文章 https://blog.ropnop.com/attacking-default-installs-of-helm-on-kubernetes/集群后渗透测试资源 https://blog.carnal0wnage.com/2019/01/kubernetes-master-post.htmlHelm介绍:Kubernetes是一个强大的容器调度系统,通常我们......
  • 003CCE Turbo配置容器网卡动态预热
    更新时间:2023-04-13GMT+08:00Reference: CCETurbo配置容器网卡动态预热_云容器引擎CCE_最佳实践_网络_华为云(huaweicloud.com)在云原生网络2.0下,每个Pod都会分配(申请并绑定)一张弹性网卡或辅助弹性网卡(统一称为:容器网卡)。由于容器场景下Pod的极速弹性与慢速的容器网卡创建......
  • Response对象-响应字符数据
    Response响应数据1.response将字符数据返回到浏览器需要两步:1.通过response对象获取字符输出流PrintWriterwriter=resp.getWriter();2.通过字符输出流写数据:writer.writer(“aaa”);案例浏览器中打印出字符/***响应字符数据:设置字符数据的响应体*/@WebServle......
  • c++训练打卡(13)
    分糖果问题:10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样......
  • mysql-json类型字段多值并查
    mysql8.0.17版本支持json索引.官方文档:https://dev.mysql.com/doc/refman/8.0/en/json.html规则版本是否支持5.7.8版本:支持json类型字段8.0.17版本:支持json类型字段多列索引环境是否支持当前环境中使用的是gorm负责mysql的交互。支持原生sql操作,所以go......
  • 打卡第九天
    输入一个整数,求出他的所有因子。一、1.定义变量,用于保存整数值。2、利用穷举法,找出1到整数值所有能够整除的数3、循环次数已知,利用for循环。二、三、#include<iostream>usingnamespacestd;intmain(){ intn,i; cout<<"输入整数值:"; cin>>n; for(i=1;i<=n;i++) { if(n......