时间:2022-08-29 09:36:15 | 栏目:JAVA代码 | 点击:次
PreparedStatement常用的方法:
void setObject(int parameterIndex, Object x, int targetSqlType)
parameterIndex the first parameter is 1, the second is 2, …占位符参数索引是从1开始的
其余也是如此:
void setInt(int parameterIndex, int x)
void setLong(int parameterIndex, long x)
void setString(int parameterIndex, String x)
void setBlob (int parameterIndex, Blob x)
void setDate(int parameterIndex, java.sql.Date x, Calendar cal)
执行操作:
package com.atmf; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; import org.junit.Test; public class SumUP { @Test public void getConnection() { Connection con = null; PreparedStatement ps = null; try { //1,加载配置文件 InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties"); Properties pr = new Properties(); pr.load(is); //2,读取配置信息 String user = pr.getProperty("user"); String password = pr.getProperty("password"); String url = pr.getProperty("url"); String driverClass = pr.getProperty("driverClass"); //3.加载驱动 Class.forName(driverClass); //4,获取连接 con = DriverManager.getConnection(url, user,password); String sql = "insert into customers(name,birth) value(?,?)"; //预编译sql语句,得到PreparedStatement对象 ps = con.prepareStatement(sql); //5,填充占位符 ps.setString(1, "三明治"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2020-11-02"); ps.setDate(2, new java.sql.Date(date.getTime())); //6,执行操作 ps.execute(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { //7,关闭资源 try { if(ps != null) ps.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(con != null) con.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
配置信息:jdbc.properties文件
user=root
password=123456
url=jdbc:mysql://localhost:3306/students
driverClass=com.mysql.jdbc.Driver
执行结果: