MySQL使用JDBC查询实例

2008-9-27    | |
打印本文章
RSS

导读:怎么使用JDBC连接数据看查询?有哪些步骤?本文通过MySQL使用JDBC查询实例介绍使用JDBC连接数据看查询的主要步骤。

关键词:MySQL JDBC 使用MySQLJDBC查询

正在加载数据...

  使用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());
        }
    }
}

原文出处:http://java.chinaitlab.com/JDBCJDO/763969.html
来源:中国IT实验室    
  评论
 
在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是实现某些特殊任务的时候……
 
最近碰到一个mysql5数据库的问题。就是一个标准的servlet/tomcat网络应用,后台使用mysql数据库。问题是待机一晚上后,第二天早上第一次登录总是失败。查看日志发现如下错误……
 
本文为专家对于有关MySQL的问题作出的回答,提问者想从表'y'中获取整数列'x'并得到以下结果……
 
MySQL双向复制的过程中如何设置双向同步?笔者通过实例讲解MySQL中如何实现双向复制功能,也就是讲述了如何实现A->B单向同步的反向操作。
 
在MySQL双向复制技术中如何准备服务器?怎样设置同步服务器?由于公司的业务需求,需要网通和电信的数据同步,所以笔者做了个MySQL的双向同步,记下过程供大家参考。
在SQL Server中,我们如何进行索引设计来提升系统的性能和对查询进行优化,是许多用户非常关注的问题,在本次技术专题中,我们将分群集索引和非群集索引设计两部分来为您详细分析。
本技术专题主要为使用Oracle SQL Developer和其他开发工具。包括如何使用Oracle SQL Developer和其他开发工具、使用Oracle Database Home Page、在Oracle中使用SQL*Plus等方面。
本专题为QL SELECT语句基础。侧重概述了如何使用SELECT来访问SQL数据库中所有内容以及组成SELECT语句的许多子句名称和功能;同时还阐述了如何使用DISTINCT关键字消除重复的行,以及如何正确使用ORDER BY子句来排序数据。
最新更新
专家答疑
技巧
Brian Fedorko
Oracle数据库审计功能十分强大、灵活并且易于配置,适当并有效地使用数据库审计功能是拥有高效安全策略的基础。
Brian Peasland
Oracle数据库二进制文件和库文件是高版本版本的,而备份的数据库内部如果仍然是较低版本,那么Oracle将不允许你打开数据库,除非你完成了升级过程。
Maria Anderson
在Windows XP环境下,使用数据库升级助手将Oracle从9.2.0.1升级到10g R2,出现DBUA不能识别Oracle数据库的SID问题如何解决。

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录