PreparedStatement 개체는 눈에 띄지 않지만 중요한 인터페이스 개체이며 두 가지 측면에서 다릅니다.
1)PreparedStatement 인스턴스 컴파일된 SQL 문을 포함합니다. . 이것이 진술을 "준비"하게 만드는 것입니다. preparedStatement 객체에 포함된 SQL 문에는 하나 이상의 IN 매개변수가 있을 수 있습니다. SQL 문이 생성될 때 IN 매개변수의 값이 지정되지 않습니다. 대신, 문은 각 IN 매개변수에 대한 자리 표시자로 물음표("?")를 예약합니다. 각 물음표의 값은 명령문이 실행되기 전에 적절한 setXXX 메소드를 통해 제공되어야 합니다.
2)PreparedStatement 객체는 미리 컴파일되어 있기 때문에 실행 속도가Statement 객체보다 빠릅니다. 따라서 여러 번 실행되는 SQL 문은 효율성을 높이기 위해 ReadyStatement 개체로 생성되는 경우가 많습니다.
1 <body> 2 <% 3 //加载数据库驱动给jdbc 4 Class.forName("org.gjt.mm.mysql.Driver"); 5 out.print("成功加载驱动"); 6 String url ="jdbc:mysql://127.0.0.1:3306/datebase?user=root&password=123456"; 7 //获取数据库连接,让java可以操作mysql 8 Connection conn = DriverManager.getConnection(url); 9 //定义一条SQL命令创建一个名为t1的表10 String sql = "create table t1(sno varchar(20),name varchar(20),birth String)";11 //从connection对象中,获取一个sql执行者12 PreparedStatement ps = conn.prepareStatement(sql);13 //执行14 ps.execute();15 out.print( conn );16 //首先关闭连接18 ps.close();19 conn.close();20 %>21 22 </body>
<% String sno="1";
String name="小明";
String birth="2008-08-24";
Class.forName("org.gjt.mm.mysql.Driver""成功加载驱动"="jdbc:mysql://127.0.0.1:3306/datebase?user=root&password=123456"Connection conn =PreparedStatement ps =123%> </body>
//정보 추가
String sql="insert into t1(sno,name,birth) value(?,?,?)";
//정보 변경
String sql1="UPDATE t1 SET 출생=? where sno=?";
//정보 삭제
String sql2="delete from t1 where sno=?";
위 내용은 PreparedStatement의 동적 매개변수 도입 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!