这篇文章主要以MySQL为例讲下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.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。我是用SQLyog的前端软件来创建Database的。
先创建数据库:
1 CREATE DATABASE SCUTCS;
接着,创建表:
1 CREATE TABLE STUDENT 2 ( 3 SNO CHAR(7) NOT NULL, 4 SNAME VARCHAR(8) NOT NULL, 5 SEX CHAR(2) NOT NULL, 6 BDATE DATE NOT NULL, 7 HEIGHT DEC(5,2) DEFAULT 000.00, 8 PRIMARY KEY(SNO) 9 );
然后插入数据,可以用SQL语句insert into <表名> values(value1, value2, ...)。
也可以用SQLyog来操作
下面,我们来编写.java文件来演示一下如何访问MySQL数据库。
1 import java.sql.*; 2 public class JDBCTest { 3 public static void main(String[] args){ 4 // 驱动程序名 5 String driver = "com.mysql.jdbc.Driver"; 6 // URL指向要访问的数据库名scutcs 7 String url = "jdbc:mysql://127.0.0.1:3306/scutcs"; 8 // MySQL配置时的用户名 9 String user = "root"; 10 // MySQL配置时的密码 11 String password = "root"; 12 try { 13 // 加载驱动程序 14 Class.forName(driver); 15 // 连续数据库 16 Connection conn = DriverManager.getConnection(url, user, password); 17 if(!conn.isClosed()) 18 System.out.println("Succeeded connecting to the Database!"); 19 // statement用来执行SQL语句 20 Statement statement = conn.createStatement(); 21 // 要执行的SQL语句 22 String sql = "select * from student"; 23 // 结果集 24 ResultSet rs = statement.executeQuery(sql); 25 System.out.println("-----------------"); 26 System.out.println("执行结果如下所示:"); 27 System.out.println("-----------------"); 28 System.out.println(" 学号" + "\t" + " 姓名"); 29 System.out.println("-----------------"); 30 String name = null; 31 while(rs.next()) { 32 // 选择sname这列数据 33 name = rs.getString("sname"); 34 // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。 35 // 然后使用GB2312字符集解码指定的字节数组 36 name = new String(name.getBytes("ISO-8859-1"),"GB2312"); 37 // 输出结果 38 System.out.println(rs.getString("sno") + "\t" + name); 39 } 40 rs.close(); 41 conn.close(); 42 } catch(ClassNotFoundException e) { 43 System.out.println("Sorry,can`t find the Driver!"); 44 e.printStackTrace(); 45 } catch(SQLException e) { 46 e.printStackTrace(); 47 } catch(Exception e) { 48 e.printStackTrace(); 49 } 50 } 51 }
接下来我们运行一下看下效果:
D:\testjdbc>javac JDBCTest.java
D:\testjdbc>java
JDBCTest
Succeeded connecting to the
Database!
-----------------------
执行结果如下所示:
-----------------------
学号
姓名
-----------------------
0104421 周远行
0208123
王义平
0209120 王大力
0309119 李 维
0309203 欧阳美林