JDBC 连接数据库范例
jdbc 连接数据库范例
本教程提供了如何创建jdbc应用程序的范例,包括:如何打开一个数据库连接,执行 sql 查询,并显示执行结果。
1. jdbc 连接数据库步骤
构建一个 jdbc 连接数据库应用程序的六个步骤:
1)导入数据包
需要包括含有需要进行数据库编程的jdbc类的包。大多数情况下,使用 import java.sql.* 就可以了。
2)注册jdbc驱动程序
可以与数据库打开一个通信通道。
3)打开连接
需要使用 drivermanager.getconnection() 方法创建一个 connection 对象,它代表与数据库的物理连接。
4)执行查询
需要使用类型声明的对象建立并提交一个sql语句到数据库。
5)从结果集中提取数据
要求使用适当的关于 resultset.getxxx() 方法来检索结果集的数据。
6)清理环境
需要明确地关闭所有的数据库资源相对依靠jvm的垃圾收集。
2. jdbc 连接数据库实例
这个范例可以作为一个模板,在需要建立jdbc应用程序。
//step 1. import required packages import java.sql.*; public class firstexample { // jdbc driver name and database url static final string jdbc_driver = "com.mysql.jdbc.driver"; static final string db_url = "jdbc:mysql://localhost/emp"; // database credentials static final string user = "username"; static final string pass = "password"; public static void main(string[] args) { connection conn = null; statement stmt = null; try{ //step 2: register jdbc driver class.forname("com.mysql.jdbc.driver"); //step 3: open a connection system.out.println("connecting to database..."); conn = drivermanager.getconnection(db_url,user,pass); //step 4: execute a query system.out.println("creating statement..."); stmt = conn.createstatement(); string sql; sql = "select id, first, last, age from employees"; resultset rs = stmt.executequery(sql); //step 5: extract data from result set while(rs.next()){ //retrieve by column name int id = rs.getint("id"); int age = rs.getint("age"); string first = rs.getstring("first"); string last = rs.getstring("last"); //display values system.out.print("id: " + id); system.out.print(", age: " + age); system.out.print(", first: " + first); system.out.println(", last: " + last); } //step 6: clean-up environment rs.close(); stmt.close(); conn.close(); }catch(sqlexception se){ //handle errors for jdbc se.printstacktrace(); }catch(exception e){ //handle errors for class.forname e.printstacktrace(); }finally{ //finally block used to close resources try{ if(stmt!=null) stmt.close(); }catch(sqlexception se2){ }// nothing we can do try{ if(conn!=null) conn.close(); }catch(sqlexception se){ se.printstacktrace(); }//end finally try }//end try system.out.println("goodbye!"); }//end main }
现在来编译上面的例子如下:
c:>javac firstexample.java c:>
当运行firstexample,它会产生以下结果:
c:>java firstexample connecting to database... creating statement... id: 100, age: 18, first: zara, last: ali id: 101, age: 25, first: mahnaz, last: fatma id: 102, age: 30, first: zaid, last: khan id: 103, age: 28, first: sumit, last: mittal c:>