java文件来演示如何访问MySQL数据库。
注:在命令行或用一个SQL的前端软件创建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, ...);
java文件来演示如何访问MySQL数据库。
1 import java.sql.*; 2 3 public class JDBCTest { 4 5 public static void main(String[] args){ 6 7 // 驱动程序名 8 String driver = "com.mysql.jdbc.Driver"; 9 10 // URL指向要访问的数据库名scutcs 11 String url = "jdbc:mysql://127.0.0.1:3306/scutcs"; 12 13 // MySQL配置时的用户名 14 String user = "root"; 15 16 // MySQL配置时的密码 17 String password = "root"; 18 19 try { 20 // 加载驱动程序 21 Class.forName(driver); 22 23 // 连续数据库 24 Connection conn = DriverManager.getConnection(url, user, password); 25 26 if(!conn.isClosed()) 27 System.out.println("Succeeded connecting to the Database!"); 28 29 // statement用来执行SQL语句 30 Statement statement = conn.createStatement(); 31 32 // 要执行的SQL语句 33 String sql = "select * from student"; 34 35 // 结果集 36 ResultSet rs = statement.executeQuery(sql); 37 38 System.out.println("-----------------"); 39 System.out.println("执行结果如下所示:"); 40 System.out.println("-----------------"); 41 System.out.println(" 学号" + " " + " 姓名"); 42 System.out.println("-----------------"); 43 44 String name = null; 45 46 while(rs.next()) { 47 48 // 选择sname这列数据 49 name = rs.getString("sname"); 50 51 // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。 52 // 然后使用GB2312字符集解码指定的字节数组 53 name = new String(name.getBytes("ISO-8859-1"),"GB2312"); 54 55 // 输出结果 56 System.out.println(rs.getString("sno") + " " + name); 57 } 58 59 rs.close(); 60 conn.close(); 61 62 } catch(ClassNotFoundException e) { 63 64 65 System.out.println("Sorry,can`t find the Driver!"); 66 e.printStackTrace(); 67 68 69 } catch(SQLException e) { 70 71 72 e.printStackTrace(); 73 74 75 } catch(Exception e) { 76 77 78 e.printStackTrace(); 79 80 81 } 82 } 83 }
运行结果如下展示:
D: estjdbc>javac JDBCTest.java
D: estjdbc>java JDBCTest
Succeeded connecting to the Database!
================================
执行结果如下所示:
================================
学号 姓名
================================
1000001 洛 洛
1000023 尹乐乐
1000020 王大伟
1000019 李 闯
1000063 欧阳佳丽
哈哈,成功啦,终于实现了预期的效果!!!!!!!!!