优化jdbc的代码 面向对象思想
3 封装父类 BaseDao
3.1 三个属性
//属性 protected Connection conn; protected PreparedStatement pstm; protected ResultSet rs; |
3.2 四个方法
//方法 public void openDB(){ //1 开库 try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager. getConnection("jdbc:mysql://localhost:3306/my105","root","123456"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("开错误"); } } public void closeDB(){ try { if(rs!=null){ rs.close(); } if(pstm!=null){ pstm.close(); } if(conn!=null){ conn.close(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("关错误"); } } //增删 改 INSERT INTO student( sname,age) VALUES(?,?) //可变参数 object[] public int myUpdate(String sql, Object... os){ int n=0; try { //1 开库 openDB(); //2 pstm=conn.prepareStatement(sql); if(os!=null){//sql有? for(int i=0;i<os.length;i++){ pstm.setObject(i+1, os[i]); } } //3 执行 n=pstm.executeUpdate(); } catch (Exception e) { // TODO: handle exception e.printStackTrace();//一定有异常打印 }finally{ //4 必须关闭数据库 closeDB(); } return n; } public ResultSet mySelect(String sql,Object... os){ try { //1 openDB(); //2 pstm=conn.prepareStatement(sql); if(os!=null){//sql有? for(int i=0;i<os.length;i++){ pstm.setObject(i+1, os[i]); } } //3 rs=pstm.executeQuery(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ //2 //closeDB(); } return rs; } |
4 实体类
Jdbc 操作
实体类 和 数据表相同的
1 类名=表名
2 类的属性和表的列要一模一样 名称 和类型一样
3 类的所有属性private .封装get/set shift+alt+s
作用
1 查询的时候,把查询的结果 封装到 实体类的集合中
5 表的子类
本文链接:https://www.kkkliao.cn/?id=10 转载需授权!
版权声明:本文由廖万里的博客发布,如需转载请注明出处。