首页 > 代码库 > JDBC

JDBC

public class Jdbc {        //获取数据库连接对象    private Connection getConnection(){        Connection connection=null;        try {            //加载数据库驱动            Class.forName("com.mysql.jdbc.Driver");            //数据库连接地址            String URL="jdbc:mysql://localhost:3306/test";            //用户名            String user="root";            //用户密码            String password="root";            //登录数据库的动作传入参数,获取数据库连接对象            connection=DriverManager.getConnection(URL, user, password);            System.out.println("数据库连接成功");        } catch (Exception e) {            //数据库连接异常,打印日志            Logger.getLogger(Jdbc.class.getCanonicalName()).log(Level.SEVERE,"数据库连接失败",e);        }        return connection;    }                public PC getPc(Long id){        Connection connection=getConnection();        //获取SQL执行对象        PreparedStatement ps=null;        //获取执行对象        ResultSet rs=null;        try {            //得到SQL 执行对象,并执行sql语句            ps=connection.prepareStatement("select id,MAC,CPU,RAM from pc where id=?");            //setLong(1,id);  用id替代SQL的第一个占位符(?)            ps.setLong(1, id);            //获取执行结果集            rs=ps.executeQuery();            //判断结果集rs是否有记录,并且将指针后移一位            while(rs.next()){                Long roleId=rs.getLong("id");                //获取结果集中的值                String mac=rs.getString("MAC");                String cpu=rs.getString("CPU");                String ram=rs.getString("RAM");                PC pc=new PC();                pc.setId(roleId);                pc.setCpu(cpu);                pc.setMac(mac);                pc.setRam(ram);                return pc;            }        } catch (SQLException e) {            Logger.getLogger(Jdbc.class.getName()).log(Level.SEVERE,"空指针异常", e);        }finally{            //关闭结果集 、执行对象、connection  关闭数据库相关资源            this.close(rs, ps, connection);        }        return null;    }    //封装关闭数据库资源的方法    private void close(ResultSet rs,PreparedStatement ps,Connection connection){        try {
 
if(rs!=null&&!rs.isClosed()){ rs.close(); } if(ps!=null&&!ps.isClosed()){ ps.close(); } if(connection!=null&&!connection.isClosed()){ connection.isClosed(); } } catch (SQLException e) { Logger.getLogger(Jdbc.class.getName()).log(Level.SEVERE, null, e); } } public static void main(String args[]){ //实例化 Jdbc Jdbc jdbc=new Jdbc(); //调用Jdbc中的方法,并传入参数,此参数为id的值 PC pc=jdbc.getPc(1L); System.out.println("mac="+pc.getMac()); }}
用JDBC有以下几步:
1、连接数据库,注册驱动和数据库信息。
2、获取Statement执行SQL语句的对象。
3、将执行过后的结果集返回给ResultSet对象。
4、使用ResultSet对象将具体的代码转化成具体的实体类对象。
5、关闭相关的资源。

 

JDBC