最近在JavaWeb项目开发遇到的一些问题

1、使用maven模块化:

通过IDEA使用maven构建项目的模块化较为简单,只需要在主(父)项目上右键new——module即可。这里要说明的时,在构建模块项目时,可能出现的循环依赖问题。此时项目启动时将会报错“The projects in the reactor contain a cyclic reference.”。出现这种情况往往是因为不同模块存在直接或间接的相互依赖的情况。此时,可以查看pom.xml修改依赖。可以先整合相互依赖的模块,然后将该模块作为基础/辅助模块,然其他模块依赖该模块。在整合依赖模块的时候,可以借助build-helper-maven-plugin插件。在使用IDEA时,我们可以通过“项目”—右键—Analyze——Analyze Module Dependencies来查看是那些模块出现的相互依赖问题。

2、在使用jdbc直接操作数据库的时候发现一个函数wasNull()。觉得这个函数挺有意思的。在java.sql.ResultSet中,对wasNull的注释如下,大概的意思是说,wasNull()用于判断结果集中最后一列的值是否为NULL。当最后一列的值为NULL的时候,返回true,否则返回false。如果访问错的时候会抛出SQLException异常。

值得特别注意的是:Note that 后面的描述,大意是:你必须首先调用getter方法,来读取这一列的值,然后再调用wasNull()方法来查看这个值是否为空。结合后面的实例,可以分析得知:the last column read指的是最后一次通过getter方法读取的列的值。

/**
 * Reports whether
 * the last column read had a value of SQL <code>NULL</code>.
 * Note that you must first call one of the getter methods
 * on a column to try to read its value and then call
 * the method <code>wasNull</code> to see if the value read was
 * SQL <code>NULL</code>.
 *
 * @return <code>true</code> if the last column value read was SQL
 *         <code>NULL</code> and <code>false</code> otherwise
 * @exception SQLException if a database access error occurs or this method is
 *            called on a closed result set
 */
在经过博主的亲测,不使用getter方法也不会引起任何异常,此时,wasNull()判断的是,结果集的第一行的最后一列的值是否为空。如果你使用了getter方法,则判断最后一次使用getter获取的属性的值是否为NULL。实例截图如下:

情况一、在不使用getter方法时,存在多个null值时。结果如下:

不使用getter且存在多个null

情况二、不使用getter方法,第一行的最后一列不为NULL时,结果如下:

不使用getter且第一行最后一列不为null时

情况三、使用getter方法,且有最后一列存在NULL时,结果如下:

使用getter且多行的getter最后一列为空时


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值