JAVA Statement和PreparedStatement及其区别

1、

//1、定义SQL语句编译对象
	Statement stm=con.createStatement();
	Scanner s=new Scanner(System.in);
	System.out.println("请输入用户名:");
	String n=s.nextLine();
	System.out.println("请输入密码:");
	String p=s.nextLine();
	System.out.println("请输入性别:");
	String se=s.nextLine();
//2、定义SQL语句
	String sql="insert into users(u_name,u_password,u_sex) 
	values('"+n+"','"+p+"','"+se+"')";System.out.println(sql);	
//3、执行SQL语句
	int i=stm.executeUpdate(sql);

2、PreparedStatement预编译语句对象

		实现:
			1、指定SQL语句结构
				select * from users where u_name=? and u_password=?
			2、设置值
					? : 占位符 
					通过预编译语句对象提供的setXXX方法设置值
					ps.setXXX(参数1,参数2);
					参数1:表示设置值的占位符索引
					参数2:值				 		

3、Statement和PreparedStatement区别

		   Statement对象在执行SQL语句的时候不会进行语句语法检索,但执行效率高,安全级别低,
		一般用于非验证操作。PreparedStatement对象在执行SQL语句之前先指定最终执行的SQL语句
		语法结构,并且使用占位符完成SQL语句值的传入从而提高语句的安全性,但执行效率低,一般
		用于验证操作。

猜你喜欢

转载自blog.csdn.net/weixin_43654274/article/details/88428944