首页 > 编程语言 >javaweb--API详解-PreparedStatemen

javaweb--API详解-PreparedStatemen

时间:2023-10-28 21:45:22浏览次数:45  
标签:username jdbc String -- PreparedStatemen API sql close conn

PreparedStatemen

1、预编译SQL语句并执行,预防SQL注入问题

对关键字进行转义

登录模块

package com.avb.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class loginin {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String username = "root";
        String password = "root";
        Connection conn = DriverManager.getConnection(url, username, password);

        String name = "abc";
        String pwd = "123";
        //定义sql
        String sql = "select * from user where username = '" + name + "' and password = '" + pwd + "'";
        //获取执行sql的对象Statement
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        if (rs.next()) {
            System.out.println("登录成功");
        } else {
            System.out.println("登录失败");

        }
        rs.close();
        stmt.close();
        conn.close();

    }
}

 使用PrepareStatement

package com.avb.jdbc;

import java.sql.*;

public class loginin {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String username = "root";
        String password = "root";
        Connection conn = DriverManager.getConnection(url, username, password);

        String name = "abc";
        String pwd = "123";
        //定义sql
        String sql = "select * from user where username = ? and password = ?";
        //获取执行sql的对象Statement
        PreparedStatement pstmt = conn.prepareStatement(sql);
        //获取pstm对象
        pstmt.setString(1,name);
        pstmt.setString(2,pwd);
        //执行sql
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            System.out.println("登录成功");
        } else {
            System.out.println("登录失败");

        }
        rs.close();
        pstmt.close();
        conn.close();

    }
}

 

标签:username,jdbc,String,--,PreparedStatemen,API,sql,close,conn
From: https://www.cnblogs.com/L-1906/p/17794651.html

相关文章

  • pmp里的工作说明书sow
    项目工作说明书的英文缩写是SOW;SOW是对项目的产品服务或成果的叙述性说明;如果是内部项目,发起人提供;如果是外部项目,客户、招标文件、合同提供;内容包括3项:业务需要、产品范围描述、战略计划;SOW没有详细的工作范围、成本或进度信息。......
  • 现代企业管理的部分复习笔记
    因为不是专业课学的比较随意,大概会分成四个部分,三个内容一个部分题,最近就要考试了,共勉格式问题显示不好  用word写的,链接如下我用夸克网盘分享了「现代企业管理.docx」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。链接:https://pan.quark.cn/s/aacef986......
  • 2558
    给你一个整数数组 gifts ,表示各堆礼物的数量。每一秒,你需要执行以下操作:选择礼物数量最多的那一堆。如果不止一堆都符合礼物数量最多,从中选择任一堆即可。选中的那一堆留下平方根数量的礼物(向下取整),取走其他的礼物。返回在 k 秒后剩下的礼物数量。输入:gifts=[25,64,9......
  • 关于 Android的一些理解
    首先是Android的框架图:    然后是4大组件      广播和内容提供者  我怎么感觉就是进程间通信呢。 ......
  • 转 的 软件测试核心面试题
    转的软件测试核心面试题https://zhuanlan.zhihu.com/p/619860547?utm_id=02023软件测试必问的常见面试题(60道有答案)NING ​关注她 你赞同过软件测试和开发相关内容01、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试......
  • 使用 Jenkins + Github + dokcer-compose 部署项目-环境准备篇
    JDK的安装及配置openjdk官网安装sudoadd-apt-repositoryppa:openjdk-r/ppaaptupdateaptupgradeaptinstallopenjdk-11-jdk配置以上方式安装的jdk路径位于/usr/lib/jvm/java-1.11.0-openjdk-amd64配置环境变量,根据自己的shell配置编辑对应的文件vi/etc/profile......
  • BOA使用以及简析
    BOA是一个非常简洁快速的单任务http服务器。官网关于BOA介绍《BoaWebserver》。下面简单从Buildroot下配置编译、服务启动、访问做个介绍,然后对服务流程做个简单的分析。1Buildroot下配置BOA在Buildroot中配置boa:Targetpackages->Networkingapplications->......
  • P9797 [NERC2018] Guest Student
    Link考虑将中间经过的时间分成三段:若干个整星期,前面的散块,后面的散块。可以先考虑没有前面的散块的做法:设经过了\(res\)个整星期,记每个整星期有\(cnt\)天有空,显然中间每次有空都选择听课是最优的,可以发现\(res=7\times\lfloor\dfrac{k-1}{cnt}\rfloor\),此时剩下需要安排......
  • Jupyter安装问题排除
    Jupyter是一个非营利组织,旨在“为数十种编程语言的交互式计算开发开源软件,开放标准和服务”。2014年由FernandoPérez从IPython中衍生出来,Jupyter支持几十种语言的执行环境。Jupyter项目开发并支持交互式计算产品JupyterNotebook(文件格式是.ipynb文件)、JupyterHub和JupyterLab。......
  • oracle中concat函数与在mysql中的使用
    在Oracle中使用concat函数来做拼接:我们想要得到的效果: 对应的sql语句如下: MySQL的中使用:我们直接使用concat()函数就行 ......