Java使用JDBC连接MySQL数据库

1、引用

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

 

2、下载

    连接MySQL数据库要先下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downloads/connector/j/ ,下载后是个压缩文件,我们只需解压出里面的jar库文件,然后导入到项目工程中。这是我用的Connector/J 版本:http://pan.baidu.com/s/1mildht2

    MySQL数据库连接的用户名是root,密码是123456,端口是3306,里面有一个自己新建的数据库名为student,student里面有一个新建的表为stuinfo,MySQL数据库安装包下载:http://pan.baidu.com/s/1sleNubV 

MySQL的相关语句:

/* 以下仅是一些基本的SQL语句 */
create database student;      /* 创建一个数据库,数据库名为student */
show databases;               /* 查看数据库 */
use student;                  /* 使用名为student的数据库 */
create table stuinfo(id char(12),name char(20),age int);    /* 创建一个表,表名为stuinfo */
show tables;                  /* 查看表 */
insert into stuinfo values('201307020010','zhangsan',21);   /* 插入一条记录到stuinfo表中 */
select * from stuinfo;        /* 查询表中所有的记录 */
select id,name from stuinfo;  /* 查询表中的指定字段 */
select * from stuinfo where age=21;           /* 带条件查询 */

delete from stuinfo where id='201307020010';  /* 带条件删除表中指定记录 */
drop table stuinfo;           /* 删除一个表 */

更多MySQL语句可查看:常用的MySQL数据库操作语句大全 

 

3、在Eclipse中导入Connector/J库文件的步骤:

项目工程:新建一个Java项目,添加一个TestDB类,将下面第4步源代码拷贝进去即可

(1)在项目工程中新建一个名为"lib"的文件夹,然后将"mysql-connector-java.jar"文件拷贝到该文件夹内。

(2)右击项目,点击 Properties / Java Build Path / Libraries / Add JARS / 选择lib文件夹下的mysql-connector-java.jar / OK 

 

4、编译运行:

注意在编译运行时应先在项目中导入Connector/J库文件,启动MySQL数据库服务,确保用户名和密码正确,且数据库和表必须已创建,否则会抛出异常。

源代码:

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.ResultSet;
 4 import java.sql.SQLException;
 5 import java.sql.Statement;
 6 
 7 public class TestDB {
 8 
 9     public static void main(String[] args) {
10         Connection conn = null;
11         Statement stmt = null;
12         ResultSet rs = null;
13         
14         // MySQL的JDBC连接语句
15         // URL编写格式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
16         String url = "jdbc:mysql://localhost:3306/student?user=root&password=123456";
17         
18         // 数据库执行的语句
19         String sql = "insert into stuinfo values('201307020010','zhangsan',21);";//插入一条记录
20         //String sql = "create table stuinfo(id char(12),name char(20),age int);";//创建一个表
21         
22         // 查询语句
23         String cmd = "select * from stuinfo;";
24         try {
25             Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
26             conn = DriverManager.getConnection(url); // 获取数据库连接
27             stmt = conn.createStatement(); // 创建执行环境
28             stmt.execute(sql); // 执行SQL语句
29             // 读取数据
30             rs = stmt.executeQuery(cmd); // 执行查询语句,返回结果数据集
31             rs.last(); // 将光标移到结果数据集的最后一行,用来下面查询共有多少行记录
32             System.out.println("共有" + rs.getRow() + "行记录:");
33             rs.beforeFirst(); // 将光标移到结果数据集的开头
34             while (rs.next()) { // 循环读取结果数据集中的所有记录
35                 System.out.println(rs.getRow() + "、 学号:" + rs.getString("id")
36                         + "\t姓名:" + rs.getString("name") + "\t年龄:"
37                         + rs.getInt("age"));
38             }
39         } catch (ClassNotFoundException e) {
40             System.out.println("加载驱动异常");
41             e.printStackTrace();
42         } catch (SQLException e) {
43             System.out.println("数据库异常");
44             e.printStackTrace();
45         } finally {
46             try {
47                 if (rs != null)
48                     rs.close(); // 关闭结果数据集
49                 if (stmt != null)
50                     stmt.close(); // 关闭执行环境
51                 if (conn != null)
52                     conn.close(); // 关闭数据库连接
53             } catch (SQLException e) {
54                 e.printStackTrace();
55             }
56         }
57     }
58 
59 }

 

运行结果:

 

5、注意事项

(1) 在编译运行源代码时要先导入Connector/J的库文件,否则会出错。

(2) 运行时要确保MySQL数据库服务已启动,且源代码的用户名和密码、端口、数据库名、表名要与数据库的一致,否则将抛出异常。

(3) 如果代码中有不懂的地方可以参考一下:Java开发中JDBC连接数据库代码和步骤总结.

posted @ 2016-04-15 23:05  落枫飘飘  阅读(25017)  评论(1编辑  收藏  举报