Driver:JDBC驱动程序的核心接口,与数据库通信并创建数据库连接
Connection:表示与数据库的连接,提供管理和执行SQL的方法
Statement:执行SQL语句并返回结果,是执行静态SQL语句的基本接口
ResultSet:表示SQL查询的结果集,提供对查询结果的访问方法
16.
Class.forName方法加载JDBC驱动
MySQL:Class.forName("com.mysql.cj.jdbc.Driver");
Access:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Oracle:Class.forName("oracle.jdbc.driver.OracleDriver");
17.
创建连接
String url = "具体的url";
String username = "your_username";
String password = "your_password";
Connection connection = DriverManager.getConnection(url, username, password);
MySQL:jdbc:mysql://hostname:port/database
Access:jdbc:odbc:your_odbc_data_source_name
Oracle:jdbc:oracle:thin:@hostname:port:oracle_sid
18.
创建对象
Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
执行语句(查询,更新)
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table");
int rowsAffected = statement.executeUpdate("UPDATE your_table SET column1 = value1 WHERE condition");
19.
根据列名和索引都可以获取ResultSet中的值
###根据列名
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table");
while (resultSet.next()) {
String stringValue = resultSet.getString("column_name");
int intValue = resultSet.getInt("column_name");
double doubleValue = resultSet.getDouble("column_name");
Date dateValue = resultSet.getDate("column_name");
// 处理获取到的值...
}
###根据索引
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table");
while (resultSet.next()) {
String stringValue = resultSet.getString("column_name");
// 检查是否为NULL
if (resultSet.wasNull()) {
// 处理NULL值的情况...
} else {
// 处理获取到的值...
}
}
一种预编译的SQL语句,可以在运行时动态地设置参数,而不必每次执行SQL语句时都重新编译一次。 这可以提高数据库操作的效率和安全性。
创建一个PreparedStatement实例:
PreparedStatement preparedStatement = connection.prepareStatement(queryString);
执行一个PreparedStatement对象:
String queryString = update user set name=? where id=?;
preparedStatement = connection.prepareStatement(queryString);
在PreparedStatement中设置参数值:
preparedStatement.setString(1, "python");
preparedStatement.setLong(2,1);
预备语句的好处? 防止SQL注入攻击
ResultSetMetaData的作用:获取临时表的元数据信息
ResultSetMetaData中的方法:getColumCount()、getColumName()和getColumType()
获得ResultSetMetaData的一个实例:
ResultSetMetaData rsMetaData = resultSet.getMetaData();
在结果集中求得列的数目:调用getColumCount()方法
在结果集中求得列名:调用getColumName()方法。