当前位置: 移动技术网 > IT编程>开发语言>Java > 怎么使用预编译对象?

怎么使用预编译对象?

2019年06月28日  | 移动技术网IT编程  | 我要评论

陶瓷弯管,仙桃租房网,古钱币收藏网

 1 package jdbcdome;
 2 
 3 import java.sql.connection;
 4 import java.sql.preparedstatement;
 5 import java.sql.resultset;
 6 import java.sql.sqlexception;
 7 import java.util.scanner;
 8 
 9 import javafx.geometry.side;
10 
11 
12 
13 /**
14  * 
15  * @author 不凡
16  *这里是使用的基础的方法,也是一开始学习的方法,
17 * 但是不能防止sql注入,(但是可以在输入框中限制特殊字符输入来达到同样的目的)
18 * 下面的是预编译语句对象
19  */
20 public class dbtext {
21     public static void main(string[] args) {
22         /*
23          
24          * 
25          *
26         jdbctools db1 =jdbctools.getdb();
27         scanner sc1 =new scanner(system.in);
28         system.out.println("请输入你的账号: ");
29         int  sid =   sc1.nextint();
30         system.out.println("请输入你的密码");
31         string pwd = sc1.next();
32         string sqlquery="select * from student where sid  = "+sid+" and pwd  ='"+pwd+"'";
33         
34         resultset rs1 =  db1.query(sqlquery);
35         try {
36             if(rs1.next())
37             {
38             system.out.println("登陆成功!");
39             system.out.println(sqlquery);
40             system.out.println(rs1.getstring(2));
41                 }else {
42                     system.out.println("登陆失败!");
43                     
44                 }
45         
46         } catch (sqlexception e) {
47             // todo auto-generated catch block
48             e.printstacktrace();
49         }
50         
51         */
52         //--------------------------------------------------------------------------------------------
53         //这里使用的预编译语句对象   有三个特点
54         /* 1.防止sql注入
55          * 2.简单 
56          * 3.可以用(?)问号,充当占位 更加方便 
57          * 4.语句只编译执行效率更高。
58          * 
59          */
60         scanner sc1 =new scanner(system.in);
61         system.out.println("请输入你的账号: ");
62         int  sid =   sc1.nextint();
63         system.out.println("请输入你的密码");
64         string pwd = sc1.next();
65         // 问好(?) 表示占位符
66         string sqlquery="select * from student where sid  = ? and pwd  =?";
67         connection con1 =  jdbctools.getconn();
68         try {
69             //生成预编译语句对象
70             preparedstatement pst =  con1.preparestatement(sqlquery);
71             //给占位符赋值
72             pst.setint(1, sid);
73             pst.setstring(2, pwd);
74             //执行预编译对象
75             resultset rs2= pst.executequery();
76             if(rs2.next()){
77                 system.out.println("登陆成功");
78                 rs2.getstring(2);
79             }else{
80                 system.out.println("登陆失败!");
81             }
82             
83         } catch (sqlexception e) {
84             e.printstacktrace();
85         }
86         
87     }
88 
89 }

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网