JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
Sun提供的JDBC可以完成以下三个基本工作:
- 建立与数据库的连接。
- 执行SQL语句。
- 获得SQL语句的执行结果。
MySQL的安装和使用网上有许多教程。
JDBC编程步骤
(注意:记得要导入mysql-connector-java-5.1.30-bin.jar包,https://dev.mysql.com/downloads/connector/j/ 可以在这里下载后导入)
- 加载数据库驱动。通常使用Class类的forName()静态方法来加载驱动。
Class.forName(driverClass);
加载MySQL的驱动采用如下的代码:
Class.forName("com.mysql.jdbc.Driver");
- 通过DriverManager获取数据库连接。DriverManager提供了如下方法。
DriverManager.getConnection(String url,String user,String password);
//例如MySQL数据库的url
url = "jdbc:mysql://hostname:port/databasename";
//user指的是数据库的用户名,MYSQL默认是root
//password指的是数据库的密码,默认为空,安装MySQL时也可以自己设置密码
- 通过Connection对象创建Statement对象。Connection创建Statement的方法有如下三个。
1.createStatement(); //创建基本的Statement对象
2.prepareStatement(String sql); //根据传入的sql语句创建预编译的Statement对象
3.prepareCall(String sql); //根据传入的sql语句创建CallableStatement对象
- 使用Statement执行SQL语句。
通常使用executeQuery(),用于执行查询语句,执行后返回代表查询结果的ResultSet对象。
- 操作结果集。
回收数据库资源。
不多说,下面一个Demo。
package demo;
import java.sql.*;
/**
* Created by zengzehao on 17-5-4.
*/
public class JDBCTest {
public static void main(String[] args) {
Connection conn = getCon();
Statement st = null;
ResultSet rs = null;
if(conn!=null){
System.out.println("数据库连接成功!");
}
try {
st = conn.createStatement();
rs = st.executeQuery("SELECT * FROM S");
while (rs.next()){
System.out.println(rs.getString(1)+"\t"
+rs.getString(2)+"\t"+rs.getInt(3)+"\t"+rs.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getCon(){
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/spj";
String username = "root";
String password = "123456";
Connection conn = null;
try {
Class.forName(driver);
conn = (Connection) DriverManager.getConnection(url,username,password);
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
return conn;
}
}