JDBC简单示例(MySQL)

来源:互联网 发布:mac top cpu排序 编辑:程序博客网 时间:2024/06/07 01:10

1.在数据库建立表tab_stud,并插入一些测试数据:

CREATE TABLE tab_stud(  stud_no INT primary key,  stud_name VARCHAR(20) not null,  birthday DATE not null);INSERT INTO tab_stud VALUES(1001, 'huey', '2001-01-01');INSERT INTO tab_stud VALUES(1002, 'sugar', '2002-02-02');INSERT INTO tab_stud VALUES(1003, 'jing', '2003-03-03');

2.Student实体:
package com.huey.jdbc;import java.text.DateFormat;import java.util.Date;/** * @version 2013-07-14 * @author huey2672 * */public class Student {private int number;private String name;private Date birthday;public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public Student() {}public Student(int number, String name, Date birthday) {setNumber(number);setName(name);setBirthday(birthday);}@Overridepublic String toString() {return String.format("No.%d: %s, %s", number, name, DateFormat.getDateInstance().format(birthday));}}

3.JDBC示例代码:

package com.huey.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Date;/** * @version 2013-07-14 * @author huey2672 * */public class TestDB {public static void main(String[] args) {Connection conn = null;try {// 加载驱动Class.forName("com.mysql.jdbc.Driver");// 数据库连接urlString url = "jdbc:mysql://localhost:3306/mydb";// 获取数据库连接conn = DriverManager.getConnection(url, "root", "******");String sql = "SELECT stud_no, stud_name, birthday FROM tab_stud";// 获取PreparedStatement对象              PreparedStatement ps = conn.prepareStatement(sql);            // 执行查询获取结果集              ResultSet rs = ps.executeQuery();                        // 迭代结果集            while (rs.next()) {int number = rs.getInt("stud_no");            String name = rs.getString("stud_name");            Date birthday = rs.getDate("birthday");            Student student = new Student(number, name, birthday);            System.out.println(student);}                        if (rs != null) {            // 关闭结果集rs.close();}                        if (ps != null) {            // 关闭PreparedStatement对象ps.close();}            if (conn != null) {// 关闭数据库连接conn.close();}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}}


4.结果输出:

No.1001: huey, 2001-1-1No.1002: sugar, 2002-2-2No.1003: jing, 2003-3-3

5.补充:

几种流行的JDBC数据库URL格式:

RDBMS数据库URL格式MySQLjdbc:mysql://hostname:portNumber/databaseNameORACLEjdbc:oracle:thin:@hostname:portNumber/databaseNameDB2jdbc:db2:hostname:portNumber/databaseNamePostgreSQL jdbc:postgre://hostname:portNumber/databaseNameSQL Serverjdbc:sqlserver://hostname:portNumber;databaseName=databaseNameSybasejdbc:sybase:Tds:hostname:portNumber/databaseName