JDBC操作数据库之连接数据库
通过JDBC向数据库中添加数据的时候,使用insert语句实现数据的插入,再SQL语句中的参数可以用占位符“?”来替代,然后通过PreparedStatement对象或者Statement对象对其赋值并执行SQL。
下面分别对PreparedStatement接口和Statement接口插入数据方法做代码实现:其中PreparedStatementTest类中是用PreparedStatement接口中的方法来实现数据库数据插入的;StatementTest类中是用Statement接口中的excuteUpdate(sql)方法实现数据库数据插入。
1 public class Book{ 2 //编号 3 private int id; 4 //图书名称 5 private String name; 6 //价格 7 private double price; 8 //数量 9 private int bookCount; 10 //作者 11 private String author; 12 13 public int getId() { 14 return id; 15 } 16 17 public void setId(int id) { 18 this.id = id; 19 } 20 public String getName() { 21 return name; 22 } 23 public void setName(String name) { 24 this.name = name; 25 } 26 public double getPrice() { 27 return price; 28 } 29 public void setPrice(double price) { 30 this.price = price; 31 } 32 public int getBookCount() { 33 return bookCount; 34 } 35 public void setBookCount(int bookCount) { 36 this.bookCount = bookCount; 37 } 38 public String getAuthor() { 39 return author; 40 } 41 public void setAuthor(String author) { 42 this.author = author; 43 } 44 } 45 /****方法一:通过PreparedStatement接口中的方法插入数据*****/ 46 public class PreparedStatementTest{ 47 Book book = new Book(); 48 //加载数据库驱动,注册到驱动管理器 49 Class.forName("com.mysql.jdbc.Driver"); 50 //数据库连接字符串 51 String url = "jdbc:mysql://localhost:3306/Test"; 52 //数据库用户名 53 String username = "root"; 54 //数据库连接密码 55 String password = "123"; 56 //创建Connection连接 57 Connection conn = (Connection)DriverManager.getConnection(url,username,password); 58 //插入图书信息的SQL语句 59 String sql = "insert into bookTable(name,price,bookCount,author) value(?,?,?,?);"; 60 //获取PreparedStatement 61 PreparedStatement ps = conn.prepareStatement(sql); 62 //对SQL语句中的第1个参数赋值 63 ps.setString(1, book.getName()); 64 //对SQL语句中的第2个参数赋值 65 ps.setDouble(2,book.getPrice()); 66 //对SQL语句中的第3个参数赋值 67 ps.setInt(3, book.getBookCount()); 68 //对SQL语句中的第4个参数赋值 69 ps.setString(4, book.getAuthor()); 70 //执行更新操作,返回所影响的行数 71 int row = ps.executeUpdate(); 72 //判断是否更新成功 73 if(row > 0){ 74 out.print("添加成功"+row+"条数据"); 75 } 76 //关闭PreparedStatement,释放资源 77 ps.close(); 78 //关闭Connection释放资源 79 conn.close(); 80 81 } 82 83 /*方法二:通过Statement接口中的executeUpdate(sql)方法插入数据*/ 84 public class StatementTest{ 85 Book book = new Book(); 86 //加载数据库驱动,注册到驱动管理器 87 Class.forName("com.mysql.jdbc.Driver"); 88 //数据库连接字符串 89 String url = "jdbc:mysql://localhost:3306/Test"; 90 //数据库用户名 91 String username = "root"; 92 //数据库连接密码 93 String password = "123"; 94 //创建Connection连接 95 Connection conn = (Connection)DriverManager.getConnection(url,username,password); 96 //插入图书信息SQL语句 97 String sql="insert into bookTable(name,price,bookCount,author) value("+book.getName()+","+book.getPrice()+","+book.getBookCount()+","+book.getAuthor()+")"; 98 //获取Statement接口对象 99 Statement stat = conn.createStatement(); 100 //调用Statement接口中的excuteUpdate(sql)方法,执行SQL语句插入数据 101 stat.executeUpdate(date); 102 103 //关闭Statement接口对象 104 if(stat != null){ 105 stat.close(); 106 } 107 //关闭Connection接口对象 108 if(conn != null){ 109 conn.close(); 110 } 111 }
---恢复内容结束---