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

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

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

select * from user where username = ? and password = ?;
获取执行sql语句的对象 PreparedStatement Connection.prepareStatement(String sql)

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

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

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

  StringBuilder stringBuilder=new StringBuilder();
stringBuilder.append("update admin set user_name=?,pwd=?,state=? where id=?");
try {
preparedStatement = connection.prepareStatement(stringBuilder.toString());
preparedStatement.setObject(1, admin.getUser_Name());

preparedStatement.setObject()为什么要这样写?的更多相关文章

  1. 转:JDBC中关于PreparedStatement.setObject的一些细节说明

    原文地址:https://blog.csdn.net/zhiyangxuzs/article/details/78657235 JDBC中PreparedStatement.setObject(ind ...

  2. 自己写ORM框架 DBUtils_DG Java(C#的写在链接里)

    ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同 ...

  3. 手把手教你写一个java的orm(四)

    开始准备生成sql 在上一篇里,我们已经取到了我们在生成sql语句中所需要的信息,这一篇里我们开始根据class来生成我们需要的sql.在这之前我们先确认几件事情 sql里的参数我们使用占位符的形式. ...

  4. [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版

    (课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...

  5. 闭关修炼180天--手写IOC和AOP(xml篇)

    闭关修炼180天--手写IOC和AOP(xml篇) 帝莘 首先先分享一波思维导图,涵盖了一些Spring的知识点,当然这里并不全面,后期我会持续更新知识点. 在手写实现IOC和AOP之前(也就是打造一 ...

  6. 闭关修炼180天--手写持久层框架(mybatis简易版)

    闭关修炼180天--手写持久层框架(mybatis简易版) 抛砖引玉 首先先看一段传统的JDBC编码的代码实现: //传统的JDBC实现 public static void main(String[ ...

  7. Mybatis执行流程学习之手写mybatis雏形

    Mybatis是目前开发中最常用的一款基于ORM思想的半自动持久层框架,平时我们都仅仅停留在使用阶段,对mybatis是怎样运行的并不清楚,今天抽空找到一些资料自学了一波,自己写了一个mybatis的 ...

  8. Mybatis(一):手写一套持久层框架

    作者 : 潘潘 未来半年,有幸与导师们一起学习交流,趁这个机会,把所学所感记录下来. 「封面图」 自毕业以后,自己先创业后上班,浮沉了近8年,内心着实焦躁,虽一直是走科班路线,但在技术道路上却始终没静 ...

  9. Java精进-手写持久层框架

    前言 本文适合有一定java基础的同学,通过自定义持久层框架,可以更加清楚常用的mybatis等开源框架的原理. JDBC操作回顾及问题分析 学习java的同学一定避免不了接触过jdbc,让我们来回顾 ...

  10. JDBC学习笔记(4)——PreparedStatement的使用

    PreparedStatement public interface PreparedStatement extends Statement;可以看到PreparedStatement是Stateme ...

随机推荐

  1. [python]为指定目录下的文件名批量加前缀

    前言 功能描述:批量重命名指定目录下的文件,文件名加前缀,默认格式为"目录名_原文件名". 示例代码 import argparse import os import sys im ...

  2. fastapi之helloworld

    简介 以下简介来自官网描述: FastAPI是一个用于构建API的现代.快速(高性能)的web框架,使用Python3.6+并基于标准的Python类型提示. 关键特性: 快速:可与NodeJS和Go ...

  3. 解决Avalonia 11.X版本的中文字体问题

    网上搜索的方法使用接口"IFontManagerImpl"这个方法目前只能用于Avalonia 10.X版本,因为11版本后官方把这个接口的成员都设置成了非plubic,所以之前的 ...

  4. 实现在Qt窗口中嵌套SDL

    实现在Qt窗口中嵌套SDL 在现代软件开发中,多媒体处理和交互性成为应用程序不可或缺的一部分.Qt作为一个强大的GUI框架,为开发者提供了丰富的图形.界面和事件处理工具.然而,有时候,我们可能需要更多 ...

  5. TDD、BDD、ATDD都是什么、有什么区别?(上)

    软件开发是一个迭代过程,包括编写.测试和改进代码,直到满足需求.测试驱动开发(TDD).行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法.TDD.BDD和ATDD都是软件开发 ...

  6. KRPANO PR10最新激活码(破解)分享

    KRPano pr10最新版本激活码下载地址: http://pan.baidu.com/s/1qYv2vO4 适用于最新pr10以及之前版本,解压密码为KRPano技术解密群群号:551278936 ...

  7. Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法

    目录 命令行脚本参考 - bat 命令行脚本参考 - bash 值得学习的知识点 1. 识别终端使用的语言 2. 函数的编写 3. 获取用户的输入 4. bat文件老是乱码怎么办 有时候为了方便别人使 ...

  8. 你知道Golang的模板怎么用吗?带你了解动态文本的生成!

    Golang Template Go语言中的Go Template是一种用于生成文本输出的简单而强大的模板引擎.它提供了一种灵活的方式来生成各种格式的文本,例如HTML.XML.JSON等. Go T ...

  9. warning in ./src/router/index.js (Emitted value instead of an instance of Error) Error compiling template: Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'jsoninfo'

    目录 warning in ./src/router/index.js (Emitted value instead of an instance of Error) Error compiling ...

  10. 删除软件 geek

    下载链接 Geek Uninstaller_v1.5.1.162 -技术松鼠 (jishusongshu.com)