使用JDBC连接MySQL数据库查询实例

使用JDBC连接数据库前提:

将mysql-connector-java.5.0.X-bin.jar包导入到工程中。

方法:在项目上点右键Build Path-->Configure Build Path-->Libraries-->Add External JARS

使用JDBC连接数据看查询主要步骤如下:
1. 加载JDBC驱动程序;
2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager 类的方法 getConnection()来创建一个数据库连接类的实例对象;
3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作。4. 返回的结果用 ResultSet 类来处理。

程序代码如下:
package JAVA_JDBC;
import java.sql.*;

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 = "vane";
         String password = "920514";
       
        //第二步:创建与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类的对象,返回查询的结果(这里是假设studentinfo数据库中有表student)
           
  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());
         }
     }

}

SqlHelper.java连接数据库通用类... package org.jdbc.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SqlHelper { /** * 设置单例 */ public static SqlHelper instance = new SqlHelper(); /** * 设置单例的一个实例方法 * * @return */ public static SqlHelper getInstance() { if (instance == null) { synchronized (SqlHelper.class) { instance = new SqlHelper(); } } return instance; } /** * 得到MySql连接 * * @return */ public static Connection getMySqlConnection() { Connection conn = null; String url = "jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user = "root"; String password = "root"; String driver="com.mysql.jdbc.Driver"; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到MMSQL连接 * @return */ public static Connection getMMSQLConnection() { String url = "jdbc:sqlserver://localhost:1433;DatabaseName=jdbc"; String user = "sa"; String password = "sa"; String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到Oracle连接 * @return */ public static Connection getOracleConnection() { String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "scott"; String password = "scott"; String Driver="oracle.jdbc.driver.OracleDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /*** * 释放资源... * * @param rs * @param st * @param conn */ public static void Relesae(ResultSet rs, Statement st, Connection conn) { try { if (rs != null) rs.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值