jdbc操作数据库

/**
         * jdbc连接步骤
         * 1.加载数据库驱动。目的告诉用哪家的数据库。
         *         第一种方式:Class.forName(String str),
         *         第二种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver())不推荐使用。因为new com.mysql.jdbc.Driver()对象是,有段静态代码块也写了注册驱动,重复注册。

package com.yz.jdbc;

public class Driver{

static {
        try {
            java.sql.DriverManager.registerDriver(new Driver());
        } catch (SQLException E) {
            throw new RuntimeException("Can't register driver!");
        }
    }}
         * 2.得到数据库连接。给出数据库位置,用户名,密码。 DriverManager
         * 3.得到执行sq的对象.Statement,PreparedStatement
         * 4.对数据进行操作.
         * 5.关闭数据库。
         */
        String url = "jdbc:mysql://localhost:3306/dbuser";
        String sql = "insert into user(id,name,age)values(11,'dddd',23);";
        sql = "select * from user;";

        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            /**
             * 1.加载数据库驱动。目的告诉用哪家的数据库。
             */
            Class.forName("com.mysql.jdbc.Driver");// 将该类加载到内存中,相当于new出了该对象。
            //DriverManager.registerDriver(new com.mysql.jdbc.Driver());// 不推荐使用,因为Driver实现类内部(有这段代码)又注册一次.
            /**
             * 2.得到数据库连接。给出数据库位置,用户名,密码。
             */
            conn = DriverManager.getConnection(url, "root", "root");
            /**
             * 3.得到执行sq的对象
             */
            ps = conn.prepareStatement(sql);
            /**
             * 4.对数据进行操作,返回结果集
             */
             rs = ps.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            try {
                /**
                 * 5.关闭数据库连接。
                 */
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
        }

posted @ 2018-08-20 10:20  小白blog  阅读(113)  评论(0)    收藏  举报