最近在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 NULL.
 * 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 wasNull to see if the value read was
 * SQL NULL.
 *
 * @return true if the last column value read was SQL
 *         NULL and false 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值时。结果如下:

最近在JavaWeb项目开发遇到的一些问题_第1张图片

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

最近在JavaWeb项目开发遇到的一些问题_第2张图片

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

最近在JavaWeb项目开发遇到的一些问题_第3张图片


你可能感兴趣的:(数据库学习,javaweb学习笔记)