java开发中JDBC编程步骤-Mysql

JDBC编程步骤

1.引入相关的包

  • import java.sql.*;

2.加载驱动

  • 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM
  • 方法:实例化Driver类,成功后会自动将Driver的实例注册到DriverManager类中
    • //例如mysql数据库
    • Class.forName("com.mysql.jdbc.Driver");    或者   new com.mysql.jdbc.Driver();
  • 成功加载后,会将Driver类的实例注册到DriverManager类里

3.创建mysql数据库的连接

  • 要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接
  • 使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码
  • 例如:String URL = "jdbc:mysql://localhost:3306/lovers?characterEncoding=utf8&useSSL=true";
    • String USER = 用户名;            String PASSWORD = 密码; 
    • Connection c = DriverManager.getConnection(URL,USER,PASSWORD);

4.创建sql语句来使用

  • 创建java.sql.Statement实例,来创建sql语句的使用
  • Statement(执行静态SQL语句)接口有两个子接口PreparedStatement(执行动态SQL语句),CallableStatement(执行数据库存储过程)
    •  Statement sm = con.createStatement() ;   
    • PreparedStatement pstmt = con.prepareStatement(sql) ; 
      • 例如:
        pstatement = connection.prepareStatement("INSERT INTO lover VALUES (?,?)");  //预编译sql语句,相当于sql语句的参数模型  具体设置在后面  ?代表有几个参数
        pstatement.setInt(index,values); //index为sql语句参数的位置,values为sql语句对应参数位置的值
        pstatement.setInt(2,age); //表示sql语句第二个参数,值为变量age的值
        pstatement.executeUpdate(); //最后执行sql语句
    • CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;   
  • Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute 
    • ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
    • int executeUpdate(String sqlString):用于执行INSERT、UPDATE或   DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等 
    • execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

5.处理结果

  • 执行更新返回的是本次操作影响到的记录数。   
  • 执行查询返回的结果是一个ResultSet对象,ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问,使用结果集(ResultSet)对象的访问方法获取数据
    • while(rs.next()) {
      System.out.println("id = "+rs.getInt("id")+"age = "+rs.getInt("age"));
      }

6.关闭资源

  • 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反
  • 例如:

    try {
    if(rs!=null) {rs.close();rs = null;}
    if(sm!=null) {sm.close();sm = null;}
    if(cc!=null) {cc.close();cc = null;}
    } catch (SQLException e) {
    e.printStackTrace();
    }

7.附上图片一张

posted @ 2016-10-20 11:30  下雨天MJ  阅读(249)  评论(0)    收藏  举报