1 平台
OS:Win10
Software:MyEclipse 10.5 + Mysqlserver5.5.19 + Navicat for MySQL
JAR包:mysql-connector-java-5.0.8-bin.jar
2 过程
1. 安装以上这几个软件
2. 打开Navicat新建数据库mydatabase,新建表table_test并输入测试数据
3. MyEclipse中新建Java Project并建立相应的package和class
4. MyEclipse中调出MyEclipse Database Explore小窗口,Window->Open Perspective->MyEclipse Database Explorer
5. 按照下图设置以下信息
6. 然后再Database的小窗口中就可以看到这样的信息,和一开始建立的数据库内容一致
7. 接着就写代码啦,代码如下
package connect;
import java.sql.*;
public class Connect2DataBase { // 创建类Conn
Connection con; // 声明Connection对象
public Connection getConnection() {// 建立返回值为Connection的方法
try {// 加载数据库驱动类
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {// 通过访问数据库的URL获取数据库连接对象
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "123123");
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con; // 按方法要求返回一个Connection对象
}
public static void main(String[] args) { // 主方法
Connect2DataBase c = new Connect2DataBase(); // 创建本类对象
c.getConnection(); // 调用连接数据库方法
}
}
运行之后会提示以下两个信息
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at connect.Connect2DataBase.getConnection(Connect2DataBase.java:10)
at connect.Connect2DataBase.main(Connect2DataBase.java:26)
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydatabase
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at connect.Connect2DataBase.getConnection(Connect2DataBase.java:16)
at connect.Connect2DataBase.main(Connect2DataBase.java:26)
也就是代码中的两个try都出现问题了
8.添加“驱动”包, 项目名称右击,按照如下方式操作
然后项目里面应该可以看到这个东西(要注意这个JAR包,位置错了不行)
9. 再次运行代码
可见数据库已经链接成功
10. 访问数据库中数据
JAVA代码如下:
package connect;
import java.sql.*;
public class Connect2DataBase { // 创建类Conn
static Connection con; // 声明Connection对象
static Statement sql;
static ResultSet res;
public Connection getConnection() {// 建立返回值为Connection的方法
try {// 加载数据库驱动类
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {// 通过访问数据库的URL获取数据库连接对象
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "123123");
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con; // 按方法要求返回一个Connection对象
}
public static void main(String[] args) { // 主方法
Connect2DataBase c = new Connect2DataBase(); // 创建本类对象
c.getConnection(); // 调用连接数据库方法
try{
sql = con.createStatement();
res = sql.executeQuery("select * from table_test where price > 0");
while(res.next()){
String name = res.getString("name");
Integer price = res.getInt("price");
System.out.println("goods name: " + name);
System.out.println("goods price:" + price);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
运行结果如下
可见数据库连接成功可以正常访问