Linux系统下Java连接Mysql数据库方法与Windows下类似,具体步骤如下:
下载JDBC(驱动):mysql-connector-java-5.1.37.tar.gz
解压下载的数据包:tar -zxvf mysql-connector-java-5.1.37.tar.gz
解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下。
配置解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下。 JDBC:[[email protected] mysql-connector-java-5.1.37]# cp mysql-connector-java-5.1.37-bin.jar /usr/lib/jvm/java-1.7.0-openjdk.x86_64//jre/lib/ext/
Java实例代码:
- 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/student";
- // MySQL配置时的用户名
- String user = "root";
- // MySQL配置时的密码
- String password = "";
- 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 std";
- // 结果集
- ResultSet rs = statement.executeQuery(sql);
- System.out.println("-----------------");
- System.out.println("执行结果如下所示:");
- System.out.println("-----------------");
- System.out.println(" 学号" + "\t" + " 姓名");
- System.out.println("-----------------");
- String name = null;
- while(rs.next()) {
- // 选择sname这列数据
- name = rs.getString("name");
- // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
- // 然后使用GB2312字符集解码指定的字节数组
- name = new String(name.getBytes("ISO-8859-1"),"UTF8");
- // 输出结果
- System.out.println(rs.getString("id") + "\t" + 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();
- }
- }
- }
数据库创建:
[[email protected] ~]# mysql
mysql> create database student;
Query OK, 1 row affected (0.00 sec)
mysql> create table std ( id int(5) primary key not null, name varchar(20) not null );
Query OK, 0 rows affected (0.04 sec)
mysql> desc std;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(5) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into std values(001,‘www‘),(002,‘qqq‘);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select *from std;
+----+------+
| id | name |
+----+------+
| 1 | www |
| 2 | qqq |
+----+------+
2 rows in set (0.00 sec)
测试结果: