java 连接MySQL的一般步骤

来源:互联网 发布:java观察者模式例子 编辑:程序博客网 时间:2024/05/17 07:32

假设有book 表,其属性有两个,分别为bookid 和name,类型都为String,下面使用book表讲述JDBC。连接数据库的一般步骤。

(1).调用Class.forName()方法加载响应的数据库驱动程序

Class.forName("com.mysql.jdbc.Driver");

(2).定义要连接数据库的地址URL,要注意不同的数据库的连接地址不同。地址格式为:jdbc:<子协议>:<子名称>

String  url = "jdbc:mysql://localhost:3306/dbName";  //dbName是数据库名

(3).使用适当的驱动程序类建立与数据库的连接。调用DriverManager对象的getConnection()方法,获得一个Connection对象,它表示一个打开的连接。

Connection conn = DriverManager.getConnection(url,"数据库名”,"密码");

(4)创建语句对象。使用Connection 接口的createStatement 方法创建一个Statement语句对象,该对象用于传递 简单的不带参数的SQL语句给数据库管理系统执行。Statement stmt = conn.createStatement();

使用Connection接口的prepareStatement方法创建一个 PreparedStatement语句对象,该对象用于传送带有一个或多个输入参数的SQL语句。列如: PreparedStatement psm = conn.prepareStatement("insert into book (bookid,name) values(?,?)");

使用Connection接口的prepareCall方法创建一个CallableStatement语句对象,该对象用于调用存储过程。

例如:CallableStatement csm = conn.prepareCall ("{call validate(?,?) }"); 其中validate是存储过程名。

(5).执行语句。Statement 接口提供了3个方法执行SQL语句,分别是executeQuery,executeUpdate 和 execute。

executeQuery方法用于执行 select 查询语句,并返回单个结果集,并保存在 ResultSet对象中。

例如: String sql = "select * from book";  ResultSet rs = stmt.executeQuery(sql);

executeUpdate 方法用于执行 SQL DML语句,即 insert,update,delete 语句,此时返回SQL语句执行操作的数据表受影响的行数,返回值是一个整数。executeUpdate方法还可以用于执行SQL DDL语句,如create table ,drop table 等,此时返回值为0.

例如:String sql = "delete from book where bookid = '12' ";   int n = stmt.executeUpdate(sql);

execute方法既可以执行查询语句,也可以执行更新语句,常用语动态处理类型未知的SQL语句。

(6).对返回的结果集ResultSet对象进行处理。

ResultSet对象包含了SQL语句执行的结果,它使用一组get方法实现对结果行中每列数据的访问。使用 next方法用于移动到ResultSet 的下一行。

如:while(rs.next()){ 

bookid = rs.getString(1);//或写入字段名

name = rs.getString(2);

System.out.println(bookid+","+name);

}

(7).关闭连接。操作完成后要关闭所有JDBC对象,以释放资源。包括:结果集对象,语句对象,连接对象 rs.close();   stmt.close();     conn.close();


原创粉丝点击