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连接数据库代码和步骤总结.