java PrepareStatement[通俗易懂]

java PrepareStatement[通俗易懂]PrepareStatementStatement对同一个sql语句charrette不同值需要重新发送一条sql语句sql注入selectusername,passwordfromempwhereusername=’admin’andpassword=’123’or1=1;insertintoempvalues(?,?,?);接口PrepareStatement表示预编译的SQL语句的对象。SQL语句被预编译并存储在Prepare…

大家好,又见面了,我是你们的朋友全栈君。

 PrepareStatement
 Statement 对同一个sql语句charrette不同值 需要重新发送一条sql语句
 sql注入
 select username,password from emp where username=’admin’ and password =’123’or 1=1;
 insert into emp values(?,?,?);
接口   PrepareStatement
     表示预编译的 SQL 语句的对象。 SQL 语句被预编译并存储在 PreparedStatement 对象中。
     然后可以使用此对象多次高效地执行该语句。  
ps=con.createPrepareStatement(sql);
    方法1:void addBatch() 
              将一组参数添加到此 PreparedStatement 对象的批处理命令中。
    方法2:boolean execute() 
              在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。 
     方法3:ResultSet executeQuery() 
              在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
           方法4: int executeUpdate() 
              在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(
              Data Manipulation Language,DML)语句,
              比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。 
  注:此对象执行的sql语句没有具体参数,用?占位符代替,通过setObject给值
类 Properties
    Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。
    属性列表中每个键及其对应值都是一个字符串。 
    一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。
    方法1:String getProperty(String key) 
              用指定的键在此属性列表中搜索属性。  通过对象中的key获得预支对应的string类型的value
    方法2: void load(InputStream inStream) 
              从输入流中读取属性列表(键和元素对)。  
DAO(date access object) 数据库转化为对象的过程
ORM(object relation mapping)              

 

PreparedStatement
    方法1:addBatch():可以实现ps对sql语句的批处理命令
            然后调用executeBatch()去执行批处理命令
接口 Statement
     方法1 :void addBatch(String sql) 
              将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。 
             int[] executeBatch() 
                  将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。 
接口 ResultSetMetaData
    可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。
    以下代码片段创建 ResultSet 对象 rs,创建 ResultSetMetaData 对象 rsmd,
    并使用 rsmd 查找 rs 有多少列,以及 rs 中的第一列是否可以在 WHERE 子句中使用。 
        ResultSet rs = stmt.executeQuery(“SELECT a, b, c FROM TABLE2”);
         ResultSetMetaData rsmd = rs.getMetaData();
         int numberOfColumns = rsmd.getColumnCount();
        boolean b = rsmd.isSearchable(1);
       方法1:int getColumnCount() 
              返回此 ResultSet 对象中的列数。            
    方法2: String getColumnLabel(int column) 
              获取用于打印输出和显示的指定列的建议标题。 
        3: String getColumnName(int column) 
              获取指定列的名称。 
        4: int getColumnType(int column) 
              获取指定列的 SQL 类型。 
jdbc支持的事物
1 原子性
2 一致性
3 隔离性
4   永久性
(dbcp)c3p0 连接池

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133654.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python输出如何换行_python不换行输入

    python输出如何换行_python不换行输入在我们常用的print()方法进行输出时,通常输出结果是整行显示出来的,这时候我们需要考虑一下,我们输出的结果需不需要换行?python学习网,大量的免费python视频教程,欢迎在线学习!不需要换行的方法也是嗯容易的的,这里就不多赘述了,来说说如何做到输出换行:常用的转义符方式:\n#-*-coding:utf-8-*-A=”来看看能不能\n换行。”print(A)输出结果来看看能不能换行…

    2022年10月26日
  • Java课程设计之 学生成绩管理系统「建议收藏」

    Java课程设计之 学生成绩管理系统「建议收藏」实现内容:设计开发一个学生成绩管理系统(1)根据实现的功能,划分出合理的对象类,明确各个对象类之间的关系。为各个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符。功能要求:(1)录入成绩(2)查询成绩(3)成绩排序(4)修改成绩(5)删除成绩(6)将数据保存在数据库表中该课程设计涉及MySQL数据库,建表操作,java操作SQL语句(JDBC数据库操作)以及JavaS

  • lnk2019无法解析的外部符号_declspec_无法解析的外部符号_main

    lnk2019无法解析的外部符号_declspec_无法解析的外部符号_mainC++工程编译时出现如下链接错误提示:原因一:只是在.h里面声明了某个方法,没有在cpp里面实现;原因二:在工程中加入了有相同名字的文件或者类;原因三:如果此类为静态库中定义的类,可能没有添加头文件目录和文件引用的lib静态库路径;添加方法:添加工程的头文件目录:项目->属性->配置属性->C/C++->常规->附加包含目录:加上头文件的存放目录;添加文件引用的lib静态库路径:项目->属性->配置属性->链接器->常规->附加

  • 路由器刷机教程图解_小米路由器刷机教程[通俗易懂]

    路由器刷机教程图解_小米路由器刷机教程[通俗易懂]小米路由器刷机教程小米路由器刷机教程登陆路由器设置页面,刷新官方固件.使用路由器助手,自动检查并自动更新固件.使用u-boot模式,可刷新任何固件.小编温馨提示:你需要先在小米官网下载好相应固件到本地,再进入路由器设置,进入系统升级,选择下载好的固件进行系统升级….其他2016/06/10小米助手刷机教程小米助手刷机教程小米助手的刷机功能只能算是小米MIUI系统升级功能,如果无法开机…

  • OpenWrt添加启动脚本

    OpenWrt添加启动脚本

  • ts切片文件的合并

    ts切片文件的合并https://www.icourse163.org/中国大学MOOC的课程经历了几个变化:Adobe的FLASH格式(*.flv)逐渐替换为H5格式的(*.mp4),然后由于监管趋严,有些课程找不到了。比如我想下一期再看的《加密与解密》的课程就找不到了!使用方法一:ts视频合并工具(tsMergertools)v1.0.0….

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号