1、“获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils。提供获取连接对象的方法,从而达到代码的重复利用。
2、该工具类提供方法:public static Connection getConn ()。代码如下:
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 4 /* 5 * JDBC工具类 6 */ 7 public class JDBCUtils { 8 public static final String DRIVERNAME = "com.mysql.jdbc.Driver"; 9 public static final String URL = "jdbc:mysql://localhost:3306/mybase"; 10 public static final String USER = "root"; 11 public static final String PASSWORD = "root"; 12 13 static { 14 try { 15 Class.forName(DRIVERNAME); 16 } catch (ClassNotFoundException e) { 17 System.out.println("数据库驱动注册失败!"); 18 } 19 } 20 21 // 提供获取连接的方法 22 public static Connection getConn() throws Exception { 23 // 2. 获得连接 24 Connection conn = DriverManager.getConnection(URL, USER, PASSWORD); 25 // 返回连接 26 return conn; 27 } 28 }
3、测试JDBCUtils工具类的代码
1 import java.sql.Connection; 2 import java.sql.PreparedStatement; 3 import java.sql.ResultSet; 4 5 public class TestJDBCUtils { 6 public static void main(String[] args) throws Exception { 7 8 Connection conn = JDBCUtils.getConn(); 9 // 3获得预处理对象 10 String sql = "select * from sort"; 11 PreparedStatement stat = conn.prepareStatement(sql); 12 13 ResultSet rs = stat.executeQuery(); 14 // 处理结果集(遍历结果集合) 15 while (rs.next()) { 16 // 获取当前行的分类ID 17 String sid = rs.getString("sid");// 方法参数为数据库表中的列名 18 // 获取当前行的分类名称 19 String sname = rs.getString("sname"); 20 // 显示数据 21 System.out.println(sid + "-----" + sname); 22 } 23 // 释放资源 24 rs.close(); 25 stat.close(); 26 conn.close(); 27 28 } 29 }