JDBC
JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),是连接数据库和Java应用程序的纽带。
DriverManager类
是JDBC的管理层,用于管理数据库中的驱动程序。操作指定数据库之前,需要使用Java中class类的静态方法forName加载指定数据库的驱动程序。
Connection接口
这个接口代表与特定的数据库的连接,在连接上下文中执行SQL语句并返回结果。
Statement接口
Statement接口用于在已经建立连接的基础上向数据库发送SQL语句。在JDBC中有3种Statement对象。
PreparedStatement接口
此接口用来动态地执行SQL语句,通过实例执行的动态SQL语句,将被预编译并保存到实例中,从而反复的执行该SQL语句。
ResultSet接口
类似一个临时表,用来暂时存放数据库查询操作所获得的结果集
17.4数据库操作
连接数据库
向数据库发送SQL语句
处理查询结果
顺序查询
添加、修改、删除记录
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.cj.jdbc.Driver;
public class mysqlDmeo {
Connection connection;
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
mysqlDmeo my = new mysqlDmeo();
my.getConnection();
my.selectAl1();
my.add(4,"WEB");
System.out.println("查询课程表中数据,结果为:");
my.selectAl1();
my.close();
}
public void add(int id, String name) throws SQLException {
// TODO Auto-generated method stub
PreparedStatement preparedStatement=connection.prepareStatement("insert into course values (?,?);");
preparedStatement.setInt(1,id);
preparedStatement.setString(2,name);
preparedStatement.executeUpdate();
}
public void close() throws SQLException {
connection.close();
}
public void getConnection() throws SQLException {
//第一步: 注册驱动
DriverManager.registerDriver(new Driver());
//第二步: 获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");
}
//查询课程表所有数据
public void selectAl1() throws SQLException {
//第三步: 获取statement对象
PreparedStatement preparedStatement = connection.prepareStatement("select* from course;");
//第四步: 执行SOL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();
//第五步: 遍历结果集
while(resultSet.next()) {
System.out.print(resultSet.getInt("id") +" ");
System.out.println(resultSet.getString("name"));
//第六步: 关闭连接释放资源
}
resultSet.close();
preparedStatement.close();//关闭连接
}
}