java处理数据库null值

java读取数据库字段遇到null值如何处理

最近在使用java读取数据库字段时,遇到了一个问题——当字段中出现null值时,该null值后面的值将无法继续读到ResultSet中,下面将解决办法做一个描述。
更改前的代码为:

try {
   		Class.forName(driver);   //加载数据库驱动
   		Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);   //连接数据库
   		Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  
           ResultSet rs=st.executeQuery(sql);   //执行sql查询,并将查询结果存放在ResultSet结果集中
           List<String> tel = new ArrayList<String>();     //定义一个ArrayList,用于将结果集ResultSet中的字符串数据存放到数组tel中
                   
           try {
           	 while(rs.next()) {          //判断字符串是否为空
           		tel.add(new String(rs.getString("aa").getBytes()));   //从结果集ResultSet中读取字段aa中的内容,放到ArrayList数组arr中
           	 } 
           }catch(NullPointerException e) {
           	e.getMessage();	
           }
} catch(Exception e) {
   		e.printStackTrace();
   	}

在数据库字段存在空值时,对空值进行判断,将空值替换成字符串"空值",当然,你也可以根据具体需要,更改成"",或者其他形式。更改后的代码为:

try {
   		Class.forName(driver);   //加载数据库驱动
   		Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);   //连接数据库
   		Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);  
           ResultSet rs=st.executeQuery(sql);   //执行sql查询,并将查询结果存放在ResultSet结果集中
           List<String> tel = new ArrayList<String>();     //定义一个ArrayList,用于将结果集ResultSet中的字符串数据存放到数组tel中
                   
           try {
           	while(rs.next()) {          //判断字符串是否为空
           		if(rs.getString("aa") != null) {
           			tel.add(new String(rs.getString("aa").getBytes()));   //从结果集ResultSet中读取字段aa中的内容,放到ArrayList数组arr中
           		}else {
           			String key = "空值";
           			tel.add(key);
           		}
           	} 
           }catch(NullPointerException e) {
           	e.getMessage();	
           }
} catch(Exception e) {
   		e.printStackTrace();
   	}
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java 连接数据库的代码主要分为以下几个步骤: 1. 导入相关的包:首先需要导入java.sql和javax.sql这两个包。 2. 加载数据库驱动:使用Class.forName()方法加载数据库驱动。 3. 连接数据库:使用DriverManager.getConnection()方法连接数据库。 4. 创建执行SQL语句的对象:使用Connection对象的createStatement()或prepareStatement()方法创建执行SQL语句的对象。 5. 执行SQL语句:使用执行SQL语句的对象的execute()、executeQuery()或executeUpdate()方法执行SQL语句。 6. 处理结果集:对于查询操作,需要使用ResultSet对象来处理结果集。 7. 关闭连接:使用Connection、Statement和ResultSet对象的close()方法关闭连接。 下面是一个简单的Java连接MySQL数据库的示例代码: ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcTest { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载MySQL驱动 Class.forName("com.mysql.jdbc.Driver"); // 连接MySQL数据库 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 创建执行SQL语句的对象 stmt = conn.createStatement(); // 执行SQL语句 String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); // 处理结果集 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id=" + id + ", name=" + name + ", age=" + age); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭连接 try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值