java.sql.PreparedStatement的setNull用法

对于PreparedStatement的setNull用法一直都有误解,其实API上很清楚

第一个参数是位置,第二个参数是java.sql.Types中定义的SQL类型

比如设置某个字段类型为INTEGER的值为NULL,代码就是setNull(1,Types.INTEGER);

下面是对你提供的代码进行优化的建议: 1. 使用 try-with-resources 语句管理数据库连接和声明的资源,确保它们在使用后正确关闭,避免资源泄漏。 2. 使用 Java 8 的 Stream API 简化代码,将 ResultSet 中的数据映射到 Student 对象,并使用 Collectors.toList() 将结果收集到一个 List 中。 3. 将方法的异常抛出声明更加具体,这样调用方可以更好地处理异常。 优化后的代码如下所示: ```java package com.ethan.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import com.ethan.model.Student; import com.ethan.util.DBUtil; public class StudentDao { public static List<Student> findAllStudent() throws Exception { String sql = "select * from student"; try (Connection conn = DBUtil.getConn(); PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery()) { List<Student> list = new ArrayList<>(); while (rs.next()) { Student student = new Student(); student.setUserId(rs.getInt("userId")); student.setUserName(rs.getString("userName")); student.setSex(rs.getString("sex")); student.setBirthYear(rs.getString("birthYear")); student.setGrade(rs.getString("grade")); student.setCollegeName(rs.getString("collegeName")); list.add(student); } return list; } } } ``` 请注意,这只是一种优化方式,具体的优化方案可能因情况而异。你可以根据实际需求进行调整和修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值