1.下载依赖包

在eclipse中使用Java连接数据库需要使用jdbc(java database connectivity),jdbc是一个接口,由相应的数据库实现。在Mysql官网下载地址可以下载Cnnector/J,Connector/J是MySQL数据库的jdbc实现,该jdbc专门用来连接MySQL数据库。

如何将数据库导入到mysql中 怎么把数据库导入myeclipse_bc

 

2.将jdbc的jar包导入eclipse项目

在项目的WebContent/WEB-INF下的新建lib文件夹(有则直接使用),将下载好的Connector/J解压,进入解压后的文件夹,找到与src同级的jar包复制到lib文件夹下,如图,不同版本的connector中jar包可能有差异,只要把jar包全部导入就行。

如何将数据库导入到mysql中 怎么把数据库导入myeclipse_java_02

此时再右键lib文件夹,选择Build Path→Config Build Path...

如何将数据库导入到mysql中 怎么把数据库导入myeclipse_mysql_03

在弹出的界面中点击Libraries,选择Add JARs...,添加lib下的jar包到构建路径下。画横线的jar包是我已经导入的connector

如何将数据库导入到mysql中 怎么把数据库导入myeclipse_java_04

导入完毕后在Referenced Libraries下找到刚刚导入的jar包,说明导入成功

如何将数据库导入到mysql中 怎么把数据库导入myeclipse_如何将数据库导入到mysql中_05

3.创建连接数据库的Dao类

package testClass;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.ArrayList;
import java.util.List;



public class ListAllDao {
	public List<String> getAll() {
		String driver = "com.mysql.jdbc.Driver";//驱动器
		String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=false";//连接路径:协议+子协议+数据源
		String userName = "";//你自己数据库的用户名
		String passwd = "";//你自己数据库的密码
		Connection connection = null;//连接
		PreparedStatement preparedStatement = null;//预编译语句
		Statement statement;    
		ResultSet resultSet = null;//结果集
		List<String> list = new ArrayList<String>();//用来接受查询到的数据并返回
		try {//执行sql语句
			Class.forName(driver);//创建驱动类对象,该对象会注册到DriverManager类中
			connection = DriverManager.getConnection(url, userName, passwd);//建立和数据库的连接
			statement = connection.createStatement();
			String queryAll = "";
			connection.prepareStatement(queryAll);//执行预编译语句
			resultSet = statement.executeQuery("select * from student");//执行查询
			while(resultSet.next()){      
		         String pass = resultSet.getString(1);//每一行代表数据表中的一列,从1开始编号
		         String pass2 = resultSet.getString(2);
		         list.add(pass);
		         list.add(pass2);
		     }    			
		}catch(Exception e){
			throw new RuntimeException(e); 
		}finally {
			try {
                                //每次关闭需要先判断待关闭对象是否为null,没有创建成功的对象不能调用对象方法
				if(resultSet!=null) {
					resultSet.close();//先关闭结果集
				}
				if(preparedStatement!=null) {
					preparedStatement.close();//再关闭预编译语句
				}
				if(connection!=null) {
					connection.close();//最后关闭连接
				}
			}catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return list;
	}
}

代码说明:

  1. driver这个引用指向对象存储的是Driver这个类的全路径。
  2. url的格式为:协议:主机地址:端口/数据库名称[?参数1 & 参数2 ……],代码中的其他信息包含字符编码集和停用ssl
  3. Statement类中的executeQuery方法执行查询
  4. ResultSet类中的getString(int columnIndex)方法将查询结果按列返回为字符串,columnIndex从1开始编号

注意

该类没有main()方法,必须新建一个包含main()方法的类,在mai中n()方法创建ListAllDao 类的对象,再调用getAll方法。