所需条件:
Eclipse:http://www.eclipse.org/downloads/
MySQL : http://dev.mysql.com/downloads/mysql/
JDBC MySQL驱动: http://dev.mysql.com/downloads/connector/j/
Java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1、安装JDK MySQL安装
1.1 dos下新建一个select_test;数据库和teacher_table表、student_table表
```
mysql>CREATE DATABASE select_test;
mysql>USE select_test;
# 为了保证从表参照的主表存在,通常应该先建主表。
mysql>CREATE TABLE teacher_table
(
# auto_increment:实际上代表所有数据库的自动编号策略,通常用作数据表的逻辑主键。
teacher_id INT AUTO_INCREMENT,
teacher_name VARCHAR(255),
PRIMARY KEY(teacher_id)
);
mysql>CREATE TABLE student_table
(
# 为本表建立主键约束
student_id INT AUTO_INCREMENT PRIMARY KEY,
student_name VARCHAR(255),
# 指定java_teacher参照到teacher_table的teacher_id列
java_teacher INT,
FOREIGN KEY(java_teacher) REFERENCES teacher_table(teacher_id)
);
INSERT INTO teacher_table
VALUES
(NULL , 'Yeeku');
INSERT INTO teacher_table
VALUES
(NULL , 'Leegang');
INSERT INTO teacher_table
VALUES
(NULL , 'Martine');
INSERT INTO student_table
VALUES
(NULL , '张三' , 1);
INSERT INTO student_table
VALUES
(NULL , '张三' , 1);
INSERT INTO student_table
VALUES
(NULL , '李四' , 1);
INSERT INTO student_table
VALUES
(NULL , '王五' , 2);
INSERT INTO student_table
VALUES
(NULL , '_王五' , 2);
INSERT INTO student_table
VALUES
(NULL , NULL , 2);
INSERT INTO student_table
VALUES
(NULL , '赵六' , NULL);
```
2、在需要连接的 Eclipse 的项目上 做连接 例如 JDBC项目
右键项目JDBC —> Build Path —> Add external Archiver…
选择mysql-connector-java-5.1.37驱动,点击确定。如下:
3.测试是否成功
Eclipse写一个程序
```
package JDBC_MySQL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* 简单示范JDBC编程,并通过ResultSet获得结果集的过程
* @author qinkangdeid
*
*/
public class ConnMySQL {
public static void main(String[] args) throws Exception {
//1.加载驱动,使用反射知识,
Class.forName("com.mysql.jdbc.Driver");
try(
//2.使用DriverManager获取数据连接
//其中返回的Connection就代表了Java程序的数据库的连接
//不同的数据库的URL的写法不相同 需要查询驱动文档 用户名、密码由DBA分配
Connection conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/select_test",
"root","0529");
//3.使用Connection来创建一个Statement对象
Statement statement = conn.createStatement();
//4.执行SQL语句
/*
* Statement有三种执行SQL语句的方法:
* 1.execute() 可执行任何SQL语句--------返回一个boolean值
* 如果指向后第一个结果是ResultSet,则返回true,否则返回false
* 2.executeQuery() 执行select语句 -------返回查询到的结集
* 3.executeUpdate() 用于执行DML语句 ------返回一个整数
* 代表被SQL语句影响的记录条数
*
* */
ResultSet resultset = statement.executeQuery("select s.*,teacher_name"
+" from student_table s,teacher_table t"
+" where t.teacher_id = s.java_teacher"))
{
//ResultSet有一系列的getXxx(索引|列名)方法 用于获取记录指针
//指向行、特定列的值,不断的御用next()将记录指针下移一行
//如果移动之后记录指针依然指向有效行 则next方法返回true
while(resultset.next()){
System.out.println(resultset.getInt(1)+"\t"
+ resultset.getString(2)+"\t"
+ resultset.getString(3)+"\t"
+ resultset.getString(4));
}
}
}
}
“`
运行:如下:成功