JavaWeb基础(2)—— JDBC 中 Statement 与 PrepareStatement 的区别

浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。

假设有一个数据库,里面有一个 user 表,有 username , userpwd 两列。我们要查出这两列的数据。

这是使用 CreateStatement 方法创建了 stmt 对象,再通过他查询的一部分语句片段。

String sql = "select * from users where  username= '"+username+"' and userpwd='"+userpwd+"'";  

stmt = conn.createStatement();  

rs = stmt.executeQuery(sql);  

使用了 PrepareStatement 方法创建了 pstmt 对象,再通过这个对象查询的一部分语句片段。

String sql = "select * from users where  username=? and userpwd=?";  
pstmt = conn.prepareStatement(sql);  
pstmt.setString(1, username);  
pstmt.setString(2, userpwd);  
rs = pstmt.executeQuery();  

PrepareStatement 可以提高代码的可读性与安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您正在开发一个基于JavaWeb的管理系统,并且希望使用JDBC来访问数据库,可以按照以下步骤操作: 1. 下载并安装JDBC驱动程序。您可以从MySQL官方网站或其他数据库供应商的网站上下载适合您数据库版本的JDBC驱动程序。 2. 在您的JavaWeb项目添加JDBC驱动程序。将JDBC驱动程序的JAR文件复制到您的JavaWeb项目的WebContent/WEB-INF/lib目录下。 3. 在您的Java代码导入JDBC相关的类。请添加以下代码: ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; ``` 4. 使用JDBC连接数据库。您需要指定连接字符串、用户名和密码来连接数据库。请参考以下示例代码: ``` String url = "jdbc:mysql://localhost:3306/mydb"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 5. 执行SQL语句。您可以使用PreparedStatementStatement对象来执行SQL语句,并使用ResultSet对象来检索查询结果。请参考以下示例代码: ``` String sql = "SELECT * FROM mytable WHERE id=?"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, 1); ResultSet rs = stmt.executeQuery(); while (rs.next()) { // 处理查询结果 } ``` 6. 关闭数据库连接。请确保在使用完数据库连接后及时关闭它,以释放资源。请参考以下示例代码: ``` rs.close(); stmt.close(); conn.close(); ``` 以上是使用JDBC访问数据库的基本步骤。当然,在实际开发,您可能还需要处理异常、使用连接池等其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值