Java JDBC编程

来源:互联网 发布:网络动作游戏排行榜 编辑:程序博客网 时间:2024/06/08 07:04

JDBC API :简单地说,JDBC API可做三件事:与数据库建立连接、发送并执行SQL语句、获取处理结果。

  DriverManager类 :依据数据库的不同,管理JDBC驱动。判断是否符合Java应用程序间通讯子协议,正确与数据库驱动链接。 Connection接口 :负责连接数据库并担任传送数据的任务  。其实就是通讯时的上下文。及数据通讯是通过链接对象。 Statement接口 :由 Connection 产生、负责执行静态的SQL语句 PreparedStatement接口:由 Connection 产生、负责执行预编译的SQL语句 ResultSet接口:表示数据库数据结果集,负责保存Statement或             PreparedStatement执行查询后所产生的结果集

使用纯Java驱动方式连接数据库。

1、下载数据库厂商提供的驱动程序包2、将驱动程序包引入Java项目或者Web项目中3、编程,通过纯Java驱动方式与数据库建立连接    String DRIVER = "com.mysql.jdbc.Driver";    String URL = "jdbc:mysql://localhost:3306/moviesDB";    String UNAME = "root";    String UPWD = "root";    Class.forName(DRIVER);    con = DriverManager.getConnection(URL,UNAME,UPWD);

JDBC编程步骤。

1、注册驱动      Class.forName(driver);2、创建可用链接    conn = DriverManager.getConnection(url, uname, upwd);3、创建语句对象    Statement stms = conn.createStatement();    3.1 :创建可用sql字符串 String sql = "select * from type";4、执行sql返回结果集、对象    ResultSet rs = stms.executeQuery(sql);    4.1 :遍历结果集对象,将结果存储到合适的对象中。        while(rs.next())        //读取行中记录    4.2 : 获取返回行中的相关列值的引用        rs.getInt(索引列);    例如:rs.getInt(1);         rs.getString(列名称);    例如:rs.getInt(“typeID”); 5、关闭资源(从外到内依次关闭)    rs.close();    stmt.close();    conn.close();    建议写成通用方法:public void release(ResultSet rs,Statement stmt,Connection conn){关闭这三个对象}  

PreparedStatement接口(预编译的sql语句)

PreparedStatement 同 Statement 相比、优点是:1、运行效率高2、安全性得到提升    // 通用更新方法(增、删、改)    // sql要执行的sql语句    // params 存储 ? 占位符所对应的参数列表    public int excuteUpdate(String sql, Object[] params) {        Connection conn = null;        PreparedStatement pstm = null;        int rows = 0;// 影响的行数        try {            conn = getConn();            pstm = conn.prepareStatement(sql);// 创建预处理对象            for (int i = 0; i < params.length; i++) {// 遍历参数数组                pstm.setObject(i + 1, params[i]);// 设置每个参数            }            rows = pstm.executeUpdate();// 执行更新操作        } catch (Exception e) {            e.printStackTrace();        } finally {            closeAll(conn, pstm, null);        }        return rows;    }
原创粉丝点击