Java数据库编程

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()方法。

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值