1 package MYSQK;
2 import java.sql.*;
3
4 /**
5 * PreparedStatement 对象可以对sql语句进行预编译,预编译的信息会存在存储该对象中,当相同的sql语句再次执行时,程序
6 * 会使用PrepareStatement对象中,而不需再次编译去查询数据库,大大提高了数据的访问效率
7 */
8
9 public class Insert {
10 public static void main(String[] args) throws SQLException{
11 Connection conn=null;
12 PreparedStatement pst =null;
13
14 try {
15 // 1 加载驱动类
16 Class.forName("com.mysql.jdbc.Driver");
17 // 2 通过DriverManager获取connection对象
18 String url="jdbc:mysql://192.168.64.128:3306/jdbc?" +
19 "user=root&password=815qza&useUnicode=true&characterEncoding=UTF8";
20 conn = DriverManager.getConnection(url);
21 if (!conn.isClosed()){
22 System.out.println("Succeeded connecting to the Database!");
23 }else{
24 System.out.println("Sorry,failed connecting to the Database");
25 }
26 // 3 获取pre对象
27 String sql = "INSERT INTO USERS(name,PASSWORD,email,birthday) VALUES (?,?,?,?)";
28 pst = conn.prepareStatement(sql);
29 //为sql参数赋值
30 pst.setString(1,"bowen5");
31 pst.setString(2,"815qza");
32 pst.setString(3,"bowen815@126.com");
33 pst.setString(4,"1990-11-01");
34 //4 使用prepare对象执行sql语句
35 int count = pst.executeUpdate();
36 System.out.println("影响数据库的条数为:"+count);
37 //5 操作result结果集
38 }catch (ClassNotFoundException e){
39 e.printStackTrace();
40 }finally {
41 // 6 关闭连接
42 pst.close();
43 conn.close();
44 }
45 }
46 }