Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316991
  • 博文数量: 93
  • 博客积分: 2515
  • 博客等级: 少校
  • 技术积分: 1025
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-18 22:51
文章分类

全部博文(93)

文章存档

2010年(2)

2009年(26)

2008年(65)

我的朋友

分类:

2008-12-21 00:29:01

MySQL使用JDBC查询实例

 发布日期:2008-9-22 9:01:00 发布者:[]   评论:[]  浏览:

使用JDBC连接数据看查询主要步骤如下:

    1. 加载JDBC驱动程序;

    2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager  类的方法 getConnection()来创建一个数据库连接类的实例对象;

    3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作。

    4. 返回的结果用 ResultSet  类来处理。

    程序代码如下:

package packageOne;

import java.sql.*;

/** *//**
 * 使用JDBC连接数据库MySQL的过程
 * DataBase:studentinfo, table:student;
 * @author DuChangfeng 2008 09 18
 */
public class DataBaseTest {
   
    public static Connection getConnection() throws SQLException,
            java.lang.ClassNotFoundException
    {
        //第一步:加载MySQL的JDBC的驱动
        Class.forName("com.mysql.jdbc.Driver");
       
        //取得连接的url,能访问MySQL数据库的用户名,密码;studentinfo:数据库名
        String url = "jdbc:mysql://localhost:3306/studentinfo";       
        String username = "root";
        String password = "admin";
       
        //第二步:创建与MySQL数据库的连接类的实例
        Connection con = DriverManager.getConnection(url, username, password);       
        return con;       
    }
   
   
    public static void main(String args[]) {
        try
        {
            //第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
            Connection con = getConnection();           
            Statement sql_statement = con.createStatement();
           
            /** *//************ 对数据库进行相关操作 ************/               
            //如果同名数据库存在,删除
            //sql_statement.executeUpdate("drop table if exists student");           
            //执行了一个sql语句生成了一个名为student的表
            //sql_statement.executeUpdate("create table student (id int not null auto_increment, name varchar(20) not null default 'name', math int not null default 60, primary key (id) ); ");
            //向表中插入数据
            //sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
            //sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
            //sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
            //sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");
            //---以上操作不实用,但是列出来作为参考---
           
            //第四步:执行查询,用ResultSet类的对象,返回查询的结果
            String query = "select * from student";           
            ResultSet result = sql_statement.executeQuery(query);
            /** *//************ 对数据库进行相关操作 ************/
           
            System.out.println("Student表中的数据如下:");
            System.out.println("------------------------");
            System.out.println("学号" + " " + "姓名" + " " + "数据成绩 ");
            System.out.println("------------------------");
           
            //对获得的查询结果进行处理,对Result类的对象进行操作
            while (result.next())
            {
                int number          = result.getInt("id");
                String name      = result.getString("name");
                String mathScore = result.getString("math");
                //取得数据库中的数据
                System.out.println(" " + number + " " + name + " " + mathScore);               
            }
           
            //关闭连接和声明
            sql_statement.close();
            con.close();
           
        } catch(java.lang.ClassNotFoundException e) {
            //加载JDBC错误,所要用的驱动没有找到
            System.err.print("ClassNotFoundException");
            //其他错误
            System.err.println(e.getMessage());
        } catch (SQLException ex) {
            //显示数据库连接错误或查询错误
            System.err.println("SQLException: " + ex.getMessage());
        }
    }

阅读(526) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~