import java.sql. PreparedStatement
时间: 2024-05-31 16:09:20 浏览: 138
This is a Java import statement for the PreparedStatement class in the java.sql package. The PreparedStatement interface is used to represent a precompiled SQL statement that can be executed multiple times with different parameters. It is used to speed up the execution of SQL statements that are executed repeatedly, as the statement is only compiled once and then can be executed multiple times with different parameters. The java.sql package contains classes and interfaces for accessing and manipulating databases using the Java programming language.
相关问题
package com.rain.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import com.rain.bean.AdminBean; import com.rain.bean.ProblemBean; import com.rain.util.DBUtil; public class ProblemDao {
这是一个问题Dao类的代码,它负责与数据库进行交互,从而实现对问题数据的增删改查等操作。
首先,它导入了java.sql和java.util包,其中java.sql包提供了访问数据库的功能,而java.util包则提供了ArrayList集合的支持。
接着,它引入了两个实体类:AdminBean和ProblemBean,这些类用于封装问题和管理员的相关信息。
然后,它使用了一个名为DBUtil的工具类。这个工具类是用来获取数据库连接的,它封装了JDBC的一些操作,避免了代码的冗余。
最后,该类定义了一个名为ProblemDao的类,其中包含了一些方法,例如增加问题、删除问题、修改问题以及查询问题等。这些方法中,使用了预编译的SQL语句,避免了SQL注入攻击,并且使用了try-catch语句块来捕获可能出现的异常。
package studentsSystem; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; import javax.sql.DataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; public class system { public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub; Properties prop=new Properties(); prop.load(new FileInputStream("shixun/src/druid.properties")); DataSource dataSource=DruidDataSourceFactory.createDataSource(prop); Connection conn=dataSource.getConnection(); String sql="update student set 姓名=王五 where 学号=01"; PreparedStatement pstm=conn.prepareStatement(sql); ResultSet rs=pstm.executeQuery(); pstm.close(); conn.close(); } }
这段代码的作用是使用阿里巴巴的 Druid 数据库连接池框架连接到数据库,并执行一个 SQL 更新语句,将学号为 01 的学生的姓名修改为“王五”。
具体实现步骤如下:
1. 读取数据库连接池的配置信息,这些信息保存在 "druid.properties" 文件中。
2. 使用 DruidDataSourceFactory.createDataSource(prop) 方法创建一个 Druid 数据库连接池。
3. 调用 dataSource.getConnection() 方法获取一个数据库连接对象。
4. 构造一个 SQL 更新语句,将学号为 01 的学生的姓名修改为“王五”。
5. 通过调用 conn.prepareStatement(sql) 方法创建一个 PreparedStatement 对象,然后执行更新操作。
6. 最后关闭 PreparedStatement 对象和数据库连接对象。
需要注意的是,这段代码中的 SQL 更新语句没有使用 PreparedStatement 对象的 setXXX 方法设置参数值,这是不规范的做法,容易引起 SQL 注入等安全问题。正确的做法应该是使用 PreparedStatement 对象的 setXXX 方法来设置参数值,如下所示:
```
String sql="update student set 姓名=? where 学号=?";
PreparedStatement pstm=conn.prepareStatement(sql);
pstm.setString(1, "王五");
pstm.setString(2, "01");
pstm.executeUpdate();
```
阅读全文