您的位置:首页 > 编程语言 > Java开发

Java链接Sql数据库

2015-08-06 10:54 537 查看

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. 访问数据库中数据

J***A代码如下:

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();
		}
	}
}

运行结果如下



可见数据库连接成功可以正常访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: