我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PreparedStatement的setObject作用是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PreparedStatement的setObject作用是什么

这篇文章主要介绍了PreparedStatement的setObject作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PreparedStatement的setObject作用是什么文章都会有所收获,下面我们一起来看看吧。

    PreparedStatement的setObject作用

    在了解setObject作用前讲解一下PreparedStatement这个接口,然后循序渐进从setXxx()方法讲解到setObject。

    PreparedStatement

    java.sql包中的PreparedStatement接口继承了Statement接口,PreparedStatement对象可以防止sql注入,而Statement不能防止sql注入,所以实际开发的时候千万不要使用Statement。

    SQL注入:

    比如我的SQL语句为:

    select * from user where username =' zhangsan' username ' and password ='password ' ;

    其中传入的参数为:username(用户名) 和 password(密码)。

    恶意注入之前的含意是查询user表的所有字段,匹配条件是username和password跟数据表的某条数据完全匹配使得条件成立,换言之就是用户名和密码必须都为正确的才可以查询到数据。

    恶意注入方式一:输入 username: 随意 password: ’ or ‘1’='1

    select * from user where username ='xxxxx' and password ='xxx' or '1'='1';

    and 优先级 执行 高于 or

    恶意注入方式二、在SQL添加 – 是mysql的注释 用户名框:输入 zhangsan’ 空格–空格 password 随意输入即可

    select * from user where username ='zhangsan' -- ' and password ='' ;

    注意:以上的 zhangsan’ 空格–空格 中的zhangsan是数据库存在的

    setObject

    setObject就是给JDBC的SQL语句的占位符赋值的,即是下面的“?”

    预编译的SQL:参数使用?作为占位符

    注意:sql的参数使用?作为占位符。 如:

    select * from user where username = ? and password = ?;

    获取执行sql语句的对象 PreparedStatement Connection.prepareStatement(String sql)

    给?赋值:(Xxx代表参数类型)

    • 方法: setXxx(参数1,参数2)

    • 参数1:?的位置编号 从1 开始

    • 参数2:?的值

    例如:

    setString(1,"one")就是定义参数类型为String类型,然后给第一个?位置上赋值为one。

    select * from user where username = 'one' and password = ?;

    setInt(2,2)就是定义参数类型为Int类型,然后给第二个?的位置上赋值为2。

    select * from user where username = 'one' and password = 2;

    注意:setString定义为String类型就只能传String类型,也就是说定义什么类型就要传入什么类型。

    重点来了

    PreparedStatement的setObject的作用和setString的作用是一样的!

    setObject的第一个参数是?的位置编号,第二个参数是Object类型,因为所有的类型默认继承object,这个时候参数就没有类型限制,你可以传入String类型或者Int类型…不需要手动设置传参类型。

    例如:

    setObject(1,"one")就是给第一个?位置上赋值为String类型的"one"。

    select * from user where username = 'one' and password = ?;

    setObject(2,2)就是给第二个?的位置上赋值为Int类型的2。

    select * from user where username = 'one' and password = 2;

    JDBC关于PreparedStatement.setObject的一些细节

    JDBC中PreparedStatement.setObject(index,Object)方法,

    index从1开始

    在插入时间格式的字段时,此处的Object格式必须是java.sql.Date的对象

    Oracle表中date格式可以表示年月日时分秒

    从表中取出对象封装到JavaBean对象中,字段类型可以直接为java.util.Date 

    关于“PreparedStatement的setObject作用是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PreparedStatement的setObject作用是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    PreparedStatement的setObject作用是什么

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    PreparedStatement的setObject作用是什么

    这篇文章主要介绍了PreparedStatement的setObject作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PreparedStatement的setObject作用是什么文章都会有所收获,
    2023-07-05

    JDBC中的PreparedStatement是什么

    JDBC中的PreparedStatement是一种数据库预编译的SQL语句对象。它继承自Statement接口,用于执行带有参数的SQL语句。与普通的Statement不同,PreparedStatement可以预先编译SQL语句,并缓存
    2023-10-10

    JDBC中的PreparedStatement是什么?

    PreparedStatement接口扩展了Statement接口,它代表一个可以多次执行的预编译SQL语句。它接受参数化 SQL 查询,并且您可以向此查询传递 0 个或多个参数。最初此语句使用占位符 “?” 而不是参数,稍后您可以传递参数
    2023-10-22

    JDBC的基本操作与Statement和PreparedStateMent使用区别是什么

    本文小编为大家详细介绍“JDBC的基本操作与Statement和PreparedStateMent使用区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“JDBC的基本操作与Statement和PreparedStateMent使用区
    2023-07-05

    数据库操作之PreparedStatement的使用

    PreparedStatement的使用1.1 PreparedStatement介绍可以通过调用 Connection 对象的 preparedStatement(String sql) 方法获取 PreparedStatement 对象PreparedSt
    数据库操作之PreparedStatement的使用
    2014-11-23

    JAVASCRIPT的作用是什么

    小编给大家分享一下JAVASCRIPT的作用是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JAVASCRIPT的作用有:1、嵌入动态文本于HTML页面;2、对浏览器事件作出响应;3、读写HTML元素;4、在数据被提交
    2023-06-14

    console.log()的作用是什么

    console.log()的作用:将参数指定的内容输出到控制台中,方便调试代码。console.log()与alert相比,它能看到结构化的东西,而alert淡出一个对象就是“[obujct object]”,但comsole能看到对象的内容,且console不会打断页面的操作。
    2023-05-14

    oracleparameter的作用是什么

    OracleParameter是Oracle数据库中的一个类,它用于设置和管理Oracle命令的参数。它的作用主要有以下几个方面:1. 提供参数化查询:使用OracleParameter可以将参数化的查询语句发送到数据库,从而提高查询的性能
    2023-08-29

    Textpattern的作用是什么

    Textpattern是一种开源的内容管理系统(CMS),被用于创建和管理网站的内容。它提供了一个易于使用的界面,让用户可以轻松地添加、编辑和发布文章、图片和其他多媒体内容。Textpattern还具有模板系统,允许用户自定义网站的外观和布
    2023-09-22

    jsp的作用是什么

    JSP(Java Server Pages)是一种用于开发动态Web应用程序的Java技术。主要作用是将Java代码嵌入到HTML页面中,以便在Web服务器上生成动态内容。具体来说,JSP的作用包括:1. 动态生成HTML页面:通过在JSP
    2023-05-22

    css的作用是什么

    这篇文章主要介绍了css的作用是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CSS指的是层叠样式表,一种用来表现HTML或XML等文件样式的计算机语言,是可以做到网页和
    2023-06-06

    linux的作用是什么

    本文小编为大家详细介绍“linux的作用是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux的作用是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。linux是一种免费
    2023-03-09

    SELinux的作用是什么

    这篇文章主要介绍了SELinux的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SELinux的作用是什么文章都会有所收获,下面我们一起来看看吧。SELinux主要作用就
    2023-02-13

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录