大家好,又见面了,我是你们的朋友全栈君。
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.cn/133654.html原文链接:https://javaforall.cn