使用 Junit 测试类编写
public class JdbcTest { private Connection con = null;// 创建一个数据库连接 private PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement private ResultSet result = null;// 创建一个结果集对象 @Before public void init(){ try { System.out.println("创建数据库连接..."); Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序 String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:orcl";// 127.0.0.1是本机地址,ORCL 是Oracle的数据库名字 Properties po = new Properties(); po.put("user", "***"); po.put("password", "*****"); con = DriverManager.getConnection(url,po);// 获取连接 System.out.println("数据库连接成功!"); } catch (Exception e) { System.out.println("数据连接失败!"); e.printStackTrace(); } } @Test public void select() { try { String sql = "select * from t_product";// 预编译语句,“?”代表参数 pre = con.prepareStatement(sql);// 实例化预编译语句 result = pre.executeQuery();// 执行查询(select使用),注意括号中不需要再加参数 ArrayListproductsList = new ArrayList (); while (result.next()){ // 当结果集不为空时 TProduct product = new TProduct(result.getInt("product_id"), result.getString("product_name"), result.getDouble("product_price")); productsList.add(product); } System.out.println(productsList); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } @Test public void update(){ try { String sql = "update t_product set product_name = ? where product_id = ?"; pre = con.prepareStatement(sql); pre.setString(1, "可口可乐"); pre.setInt(2, 0); if(pre.executeUpdate() == 1) //update, delete, insert, 使用 executeUpdate() System.out.println("update successful!"); else System.out.println("update fail!"); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } @After public void end(){ //不管如何,连接的对象必须释放 try { // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源 // 注意关闭的顺序,最后使用的最先关闭 if (result != null) result.close(); if (pre != null) pre.close(); if (con != null) con.close(); System.out.println("数据库连接已关闭!"); } catch (Exception e) { e.printStackTrace(); } }}