封装jdbc

来源:互联网 发布:矩阵除法 编辑:程序博客网 时间:2024/05/18 00:16

封装jdbc

对jdbc的封装主要是对实体对象进行封装,封装后只需传入实体对象或实体对象类等即可对其进行简单操作。
目的是:减少代码重复,提高代码重用。首先在WEB-INF文件夹导入jar包,要对应自己的版本号,再加载这个包。
之后新建几个包分别
存储不同类型的类。以下代码仅对新手有用,老鸟略过。代码如下:


工具包:

代码块语法遵循标准markdown代码,例如:

package com.bdqn.utils;public  class Connaiti {    public static final String use="root";    public static final String pwd="root";     public static final String driver="com.mysql.jdbc.Driver";     public static final String url="jdbc:mysql://localhost:3306/dept";                                                                 自己的数据库}

实体包:

package com.bdqn.entity;//插入get、set、有参无参、toString的方法public class Dept {    private int did;    private String dname;    private String dpwd;    private String dmesc;    public int getDid() {        return did;    }    public void setDid(int did) {        this.did = did;    }    public String getDname() {        return dname;    }    public void setDname(String dname) {        this.dname = dname;    }    public String getDpwd() {        return dpwd;    }    public void setDpwd(String dpwd) {        this.dpwd = dpwd;    }    public String getDmesc() {        return dmesc;    }    public void setDmesc(String dmesc) {        this.dmesc = dmesc;    }    public Dept() {    }    public Dept(int did, String dname, String dpwd, String dmesc) {        this.did = did;        this.dname = dname;        this.dpwd = dpwd;        this.dmesc = dmesc;    }    @Override    public String toString() {        return "Dept [did=" + did + ", dname=" + dname + ", dpwd=" + dpwd                + ", dmesc=" + dmesc + "]";    }

实体类下的Text类(最后再写):

package com.bdqn.entity;import com.bdqn.dao.BaseDao;import com.bdqn.dao.DestDao;import com.bdqn.dao.impl.DeptImpl;public class Text {    public static void main(String[] args) {        DeptImpl dao =new DeptImpl();    //可以父类调用子类        Dept dept =new Dept();        dept.setDname("fujiajun2");        dept.setDid(2);        int num =dao.updateDept(dept);        System.out.println(num);    }}

DAO包,数据访问接口:

package com.bdqn.dao;import java.util.List;import com.bdqn.entity.Dept;//实现类public interface DestDao {    //增加    int insertDept(Dept dept);        //修改    int updateDept(Dept dept);    //删除    int deleteDept(int did);    //全查    List<Dept> selectAllDept();    //根据id查询    List<Dept> selectDept(int did);}

提供从数据库增、删、改、查等的操作

package com.bdqn.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.bdqn.utils.Connaiti;public class BaseDao {    private static Connection contion =null;    private static PreparedStatement ps=null;    //获取连接    public static Connection getConnection() {        //加载驱动        try {            Class.forName(Connaiti.driver);            contion=DriverManager.getConnection(Connaiti.url, Connaiti.use, Connaiti.pwd);        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return contion;    }    //关闭资源    public static void close(Connection contion,Statement st,ResultSet rs){        try {            if (rs!=null) {                rs.close();            }            if (st!=null) {                st.close();            }            if (contion!=null) {                contion.close();            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    //实现增删改    public static int update(String sql,Object[] objects){        int num =0;        contion=getConnection();         try {            ps=contion.prepareStatement(sql);             if (objects !=null && objects.length>0) {                for (int i = 0; i < objects.length; i++) {                    ps.setObject((i+1), objects[i]);                }            }             num=ps.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally{            close(contion, ps, null);        }        return num;    }    //查询    public static ResultSet getResultSet(String sql,Object[] objects) {        ps=null;        ResultSet rs=null;        try {            contion= getConnection();            ps=contion.prepareStatement(sql);            if (objects!=null &&objects.length>0) {                for (int i = 0; i < objects.length; i++) {                    ps.setObject((i+1), objects[i]);                }            }            rs=ps.executeQuery();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally{            close(contion, ps, rs);        }        return rs;          }       }

DAO的实现包:

package com.bdqn.dao.impl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.bdqn.dao.BaseDao;import com.bdqn.dao.DestDao;import com.bdqn.entity.Dept;public class DeptImpl extends BaseDao implements DestDao{    @Override   //插入、增加    public int insertDept(Dept dept) {        String sql="insert into dept1 valuse(?,?,?,?)";        Object[] objects ={dept.getDid(),dept.getDname(),dept.getDpwd(),dept.getDmesc()};        int num =this.update(sql, objects);        return num;    }    @Override //修改    public int updateDept(Dept dept) {        String sql="update dept1 set dname=? where did=?";        Object[] objects={dept.getDname(),dept.getDid()};        int num =this.update(sql, objects);        return num;    }    @Override //删除    public int deleteDept(int did) {        String sql ="delete from dept1 where did=?";        Object[] objects={did};        int num =this.update(sql, objects);        return num;    }    @Override  //查询所有    public List<Dept> selectAllDept() {        String sql="select *from dept1";        List<Dept> list=null;        try {            ResultSet rs=this.getResultSet(sql, null);            list =new ArrayList<Dept>();            while (rs.next()) {                Dept dept =new Dept();                int did=rs.getInt("did");                String dname=rs.getString("dname");                String dpwd=rs.getString("dpwd");                String dmesc=rs.getString("dmesc");                dept.setDid(did);                dept.setDname(dname);                dept.setDpwd(dpwd);                dept.setDmesc(dmesc);                list.add(dept);            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return list;    }    @Override //根据id查询    public List<Dept> selectDept(int did) {        String sql="select *from dept where did=?";        Object[] objects=null;        List<Dept> list=null;        try {            ResultSet rs=this.getResultSet(sql, objects);            list =new ArrayList<Dept>();            while (rs.next()) {                Dept dept =new Dept();                int did1=rs.getInt("did");                String dname=rs.getString("dname");                String dpwd=rs.getString("dpwd");                String dmesc=rs.getString("dmesc");                dept.setDid(did);                dept.setDname(dname);                dept.setDpwd(dpwd);                dept.setDmesc(dmesc);                list.add(dept);            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return list;    }}