JDBC驱动的下载与导入
JAVA可以通过MYSQL的JDBC驱动连接数据库,这里记录了Eclipse建立工程连接数据库的过程。1. MySQL 的 JDBC 驱动名为 Connector/J , 下载地址: http://dev.mysql.com/downloads/connector/j/
下载 zip 文件,解压后将其中的 jar 包,导入到项目。右键项目,选择Build Path 的 Add External Archives,选择jar包即可。
建立连接
1. 使用java.sql包中的DriverManager类进行JDBC驱动管理,并由它产生连接实体connection.
2. 使用Class.forName(String).newInstance()方法将真正的Connector/J驱动类生成实例。
Class.forName("com.mysql.jdbc.Driver").newInstance();
2.调用DriverManager类自动加载驱动类生成的实例,其静态方法getConnection()创建连接对象,建立连接时应捕获SQLException异常 :
try{
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/javalecture?","root","123456");
}catch(SQLException e){
System.out.println(e);
}
数据库操作
使用类Statement 以声明一个SQL语句对象,然后让已创建的连接对象conn调用方法createStatement()创建
try{1.向数据库发送 SQL 查询语句
Statement sql=con.createStatement();
}catch(SQLException e ){
System.out.println(e);
}
2.处理查询结果
使用Statement类的executeQuery()方法执行SQL语句,返回结果使用ResultSet对象存储。
ResultSet rs=sql.executeQuery("SELECT * FROM students");
下面给出一个实例仅供参考.
实例中的数据表
ID | name | javascore | sqlscore |
---|---|---|---|
201407222 | winjourn | 95 | 90 |
201407333 | enstein | 94 | 89 |
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;
public class Main {
public static void main(String[] args) {
Connection con;
Statement sql;
ResultSet rs;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
String url = "jdbc:mysql://localhost/javalecture"; /* jdbc:mysql:// + 数据库地址/数据库名称*/
String username = "root";
String password = "123456";
con=DriverManager.getConnection(url,username,password);
sql=con.createStatement() ;
rs=sql.executeQuery("SELECT * FROM students");
ArrayList<String>ar = new ArrayList<String>();
while(rs.next()) {
String id=rs.getString(1);
String name=rs.getString(2);
int javascore = rs.getInt(3);
if(javascore >= 60){
ar.add(id +" "+ name +" " + String.valueOf(javascore));
}
}
System.out.println("java及格人数"+ ar.size());
for(int i=0;i<ar.size();i++){
System.out.println(ar.get(i));
}
}
catch(SQLException e) {
System.out.println(e);
}
}
}