JDBC常用接口,和数据库互操作

#1.Statement方法(容易发生数据库注入,不推荐使用)

package com.bjsxt.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * 
 * 测试执行SQL语句,以及SQL注入问题
 * 
 */

public class Demo02 {

	 public  static  void main(String[]  args) {
		 //加载驱动类
		 try {		 
			//加载驱动类 
			Class.forName("com.mysql.jdbc.Driver");
			//建立连接(连接对象内部其实包含了Socket对象,是一个远程连接。比较耗时,这是Connection对象管理的一个要点)
			//真正开发中,为了提高效率,都会使用连接池来管理对象

         //   Statement方法容易被人入侵数据库,不推荐使用
 		   	                                                                                     
 			Connection conn=(Connection)      DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc"," 用户名","密码");
 	     	Statement  stmt =conn.createStatement();
 	     	//System.out.println(conn);
            //  在数据库里面插入数据  
 	        String name ="赵六";
 	        int pwd =6666;
	     	String sql="insert into t_user(username,pwd,regTime) values('"+name+"',"+pwd+",now())";
  			stmt.execute(sql);
 			
 			//测试SQL注入
 			
 			 sql="delete from t_user where id=4";/*删除id=3的数据*/	     	
 
				
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 
	 }

}

#执行结果
在这里插入图片描述
#测试PreparedStatement的基本用法

package com.bjsxt.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/*
 * 
 * 测试PreparedStatement的基本用法
 * 作者:一只学弱狗 
 *
 */
public class Demo3 {
	 public  static  void main(String[]  args) {
		 //加载驱动类
		 try {		 
			//加载驱动类 
			Class.forName("com.mysql.jdbc.Driver");
			
 			Connection conn=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","","");
 	        
 			String sql="insert into t_user(username,pwd) values(?,?)";   //?为占位符
 			PreparedStatement ps=conn.prepareStatement(sql);
// 			ps.setString(1, "一只学弱狗");      //参数索引从1开始,而不是0
//			ps.setString(2, "123456"); 
 	     	
 			ps.setObject(1, "一只学弱猫");
 			ps.setObject(2, "123456");
 	     	
 	     	ps.execute();
 	     	System.out.println("插入一行记录");
				
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 
	 }
}

#执行结果
在这里插入图片描述
[1]参考资料,Java300集,高琪;

发布了5 篇原创文章 · 获赞 0 · 访问量 2949

猜你喜欢

转载自blog.csdn.net/qq_42849206/article/details/104073341