zoukankan      html  css  js  c++  java
  • 2018年4月8日JAVA连接数据库

    首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” ->           “高级” ->           “环境变量”,在系统变量那里编辑classpath,将D:mysql-connector-java-5.0.5mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。

               环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。

    我是用SQLyog的前端软件来创建Database的。

    先创建数据库:

    CREATE DATABASE SCUTCS;

    接着,创建表:

    CREATE TABLE STUDENT

    (

    SNO CHAR(7) NOT NULL,

       SNAME VARCHAR(8) NOT NULL,

       SEX CHAR(2) NOT NULL,

       BDATE DATE NOT NULL,

       HEIGHT DEC(5,2) DEFAULT 000.00,

       PRIMARY KEY(SNO)

    );

    然后插入数据,可以用SQL语句insert into <表名> values           (value1, value2, ...);

    也可以用SQLyog来操作

    好了,创建好了。

    下面,我们来编写.java文件来演示一下如何访问MySQL数据库。

    复制代码
    import java.sql.*;

    public class JDBCTest {

    public static void main(String[] args){

    // 驱动程序名
    String driver = "com.mysql.jdbc.Driver";

    // URL指向要访问的数据库名scutcs
    String url = "jdbc:mysql://127.0.0.1:3306/scutcs";

    // MySQL配置时的用户名
    String user = "root";

    // MySQL配置时的密码
    String password = "root";

    try {
    // 加载驱动程序
    Class.forName(driver);

    // 连续数据库
    Connection conn = DriverManager.getConnection(url, user, password);

    if(!conn.isClosed())
    System.out.println("Succeeded connecting to the Database!");

    // statement用来执行SQL语句
    Statement statement = conn.createStatement();

    // 要执行的SQL语句
    String sql = "select * from student";

    // 结果集
    ResultSet rs = statement.executeQuery(sql);

    System.out.println("-----------------");
    System.out.println("执行结果如下所示:");
    System.out.println("-----------------");
    System.out.println(" 学号" + " " + " 姓名");
    System.out.println("-----------------");

    String name = null;

    while(rs.next()) {

    // 选择sname这列数据
    name = rs.getString("sname");

    // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
    // 然后使用GB2312字符集解码指定的字节数组
    name = new String(name.getBytes("ISO-8859-1"),"GB2312");

    // 输出结果
    System.out.println(rs.getString("sno") + " " + name);
    }

    rs.close();
    conn.close();

    } catch(ClassNotFoundException e) {


    System.out.println("Sorry,can`t find the Driver!");
    e.printStackTrace();


    } catch(SQLException e) {


    e.printStackTrace();


    } catch(Exception e) {


    e.printStackTrace();


    }
    }
    }
    复制代码


    接下来我们运行一下看下效果:

    D: estjdbc>javac JDBCTest.java

    D: estjdbc>java JDBCTest
    Succeeded connecting to the Database!
    -----------------------
    执行结果如下所示:
    -----------------------
        学号           姓名
    -----------------------
    0104421    周远行
    0208123    王义平
    0209120    王大力
    0309119    李     维
    0309203    欧阳美林

  • 相关阅读:
    Codeforces Round #649 (Div. 2) D. Ehab's Last Corollary
    Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays
    Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors
    Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster
    Codeforces Round #647 (Div. 2) F. Johnny and Megan's Necklace
    Codeforces Round #648 (Div. 2) G. Secure Password
    Codeforces Round #646 (Div. 2) F. Rotating Substrings
    C++STL常见用法
    各类学习慕课(不定期更新
    高阶等差数列
  • 原文地址:https://www.cnblogs.com/jason111/p/8747851.html
Copyright © 2011-2022 走看看