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:[root@REHL 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(); } } }
数据库创建:
[root@REHL ~]# 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)
测试结果:
转载于:https://blog.51cto.com/9409270/1706103