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(); } }
时间: 2024-03-08 10:46:08 浏览: 134
Java.nio 与Java.io比较
这段代码的作用是使用阿里巴巴的 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();
```
阅读全文