• JDBC连接MySQL


    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、关闭相关的资源。

  • 相关阅读:
    Docker 安装ELK之 zz
    Linux使用Aria2命令下载BT种子/磁力/直链文件 转载
    新路由3newifi3路由器刷机newifi3breed解锁小白刷机教程路由器刷breed老毛子Padavan固件
    从ServerSwitch到SONiC Chassis:数据中心交换机技术的十年探索历程
    SONiC项目的发展及其相关介绍(转载)
    linux后台运行和关闭、查看后台任务
    tsar安装和使用
    浅谈CLOSE_WAIT
    贾扬清牛人(zz)
    Linux Soft-RoCE implementation (zz)
  • 原文地址:https://www.cnblogs.com/staticking/p/6933683.html
Copyright © 2020-2023  润新知