加载驱动
Class.forName(“com.mysql.jdbc.Driver”);
获取数据库的连接
Connection conn = DriverManager.getConnection(url, user, pass);
使用Connection来创建一个Statement对象
Statement stmt = conn.createStatement();
使用Statement执行SQL语句。所有的Statement都有如下三个方法来执行sql语句
1.execute():可以执行任何sql语句,但比较麻烦。
2.executeUpdate():主要用于执行DML和DDL语句。执行DML语句返回受SQL语句影响的行数,执行DDL语句返回为0;
3.executeQuery():只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
操作结果集
如果是的SQL语句是查询语句,则执行的结果是ResultSet对象,该对象里保存了SQL语句查询的结果。
ResultSet rs = stmt.executeQuery(“select *”+”from abc”);
程序可以通过操作该ResultSet对象来取出查询结果。ResultSet对象主要提供了如下两类方法。
rs.next();
1.next(),previous(),first(),last(),beforeFirst(),afterLast(),absolute()等移动记录指针的方法。
2.getXxx()方法获取记录指针指向行,特定列的值。该方法既可以使用列索引作为参数,也可以使用列名作为参数。使用列索引作为参数性能更好,使用列名作为参数可读性更好。
注释:使用Connection来创建一个Statement对象时
还有其他两个,这两个都是Statement类的子类,只有获得Statement类时才能进行执行对SQL语句:
1、PreparedStatement prepareStatement(String sql);
该方法返回预编译的Statement对象,即将SQL语提交到数据库进行编译。如果进程反复执行一条结构相似的语句,是相似。例如:参数sql=”insert into student_table values(null,?,1)”;类似这样,使用PreparedStatement的效率更高。其中问好的参数只要使用PreparedStatement 中的setXxx(int index,Xxx value);方法来进行参数的传入。PreparedStatement 也有上面三种方法,不过是没有参数。
例如:PreparedStatement pstmt = conn.prepareStatement(“insert into student_table values(null,?,1);”);
pastm.setString(1,”姓名”);
pstmt.executeUpdate();//没有参数。
2、CallableStatement prepareCall(String sql); 该方法返回CallableStatement对象。该对象用于调用存储过程。