java PrepareStatement

java PrepareStatementPrepareStatementStatement对同一个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://bianchenghao.cn/38991.html

(0)
编程小号编程小号

相关推荐

发表回复

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