JDBC
Posted StaticKing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章