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 连接池

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

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

(0)
上一篇 2022年6月8日 上午6:46
下一篇 2022年6月8日 上午7:00


相关推荐

  • 逆矩阵的伴随阵的求法_伴随矩阵与原矩阵的特征值

    逆矩阵的伴随阵的求法_伴随矩阵与原矩阵的特征值1、简单介绍         一个方阵A如果满足,则A可逆,且

    2022年8月21日
    7
  • C# SqlTransaction的使用[通俗易懂]

    C# SqlTransaction的使用[通俗易懂]Sqltransaction是用在多sql任务写数据库时的Codeusing(SqlConnectionconn=newSqlConnection(SqlHelper.ConnectionString)){conn.Open();…

    2022年5月1日
    110
  • vue获取当前路由

    vue获取当前路由vue 获取当前路由 console log this route path 友情提示 router 用来操作对象 比如路由跳转的时候使用 即 this router push xxxx route 用来获取信息 比如获取当前路由 this route path 获取路由传递的参数 this route query

    2026年3月20日
    2
  • 欧拉函数及其证明_欧拉函数证明题

    欧拉函数及其证明_欧拉函数证明题请思考以下问题:  任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。φ(n)的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。第一种情况如果n=1,则φ(1

    2022年8月22日
    8
  • 腾讯混元模型免费玩:HY-1.8B-2Bit-GGUF镜像使用教程,5分钟跑通

    腾讯混元模型免费玩:HY-1.8B-2Bit-GGUF镜像使用教程,5分钟跑通

    2026年3月12日
    2
  • mask scoring rcnn_faster rcnn详解

    mask scoring rcnn_faster rcnn详解1.M,对应着图像中的CNN部分,其对输入进来的图片有尺寸要求,需要可以整除2的6次方。在进行特征提取后,利用长宽压缩了两次、三次、四次、五次的特征层来进行特征金字塔结构的构造。ask-RCNN使用Resnet101作为主干特征提取网络2.ResNet101有两个基本的块,分别名为ConvBlock和IdentityBlock,其中ConvBlock输入和输出的维度是不一样的,所以不能连续串联,它的作用是改变网络的维度;IdentityBlock输入维度和输出维度相同,可以串联,用于加深网络的。

    2026年4月17日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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