>  기사  >  Java  >  PreparedStatement의 동적 매개변수 도입 예

PreparedStatement의 동적 매개변수 도입 예

零下一度
零下一度원래의
2017-06-25 11:05:062479검색

1.PreparedStatement 개요

PreparedStatement 개체는 눈에 띄지 않지만 중요한 인터페이스 개체이며 두 가지 측면에서 다릅니다.

1)PreparedStatement 인스턴스 컴파일된 SQL 문을 포함합니다. . 이것이 진술을 "준비"하게 만드는 것입니다. preparedStatement 객체에 포함된 SQL 문에는 하나 이상의 IN 매개변수가 있을 수 있습니다. SQL 문이 생성될 때 IN 매개변수의 값이 지정되지 않습니다. 대신, 문은 각 IN 매개변수에 대한 자리 표시자로 물음표("?")를 예약합니다. 각 물음표의 값은 명령문이 실행되기 전에 적절한 setXXX 메소드를 통해 제공되어야 합니다.

2)PreparedStatement 객체는 미리 컴파일되어 있기 때문에 실행 속도가Statement 객체보다 빠릅니다. 따라서 여러 번 실행되는 SQL 문은 효율성을 높이기 위해 ReadyStatement 개체로 생성되는 경우가 많습니다.

2. ReadyStatement 적용 예시

2.1 첫 번째 단계는 jar 패키지를 가져오는 것입니다.

2.2 테이블 t1

 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>

2.3 t1의 데이터를 조작하려면 테이블에서 sql 명령 replaceout

<%
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.