我想知道我们是否可以重用相同的Statement对象来执行多个查询.或者,我们应该为不同的查询创建一个新的语句.
例如,
Connection con = getDBConnection();
Statement st1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
int i = st1.executeUpdate("update tbl_domu set domU_status=1 where domU_id=" + dom_U_id);
Statement st2 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
int j = st2.executeUpdate("insert into tbl_domU_action_history values('" + dom_U_name + "', 1, '" + date + "')");
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,对于executeUpdate()查询使用相同的语句st1是否有任何损害?我可以为另一个executeQuery()使用相同的Statement对象st1吗?
我有一个网页,允许用户执行各种操作,然后修改数据库.此外,此Web应用程序需要跟踪数据库中随时间变化的各个字段.每隔几秒刷一次页面最好的方法来实现这个吗?例如,如果页面上有一个需要滚动的长列表,则很难查看列表,因为页面由于刷新而保持重置.我知道,有办法保留卷轴的位置.但是,我可以使用更高效的东西吗?
我有一个由大约15种方法组成的Java程序.并且,在程序的执行期间非常频繁地调用这些方法.目前,我正在每个方法中创建一个新连接并在其上调用语句(数据库在网络上的另一台机器上设置).
我想知道的是:我应该在main方法中只创建一个连接,并将其作为参数传递给需要连接对象的所有方法,因为它会显着减少程序中连接对象的数量,而不是创建并且在每种方法中经常关闭连接.
我怀疑我没有使用当前设计非常有效地使用资源,并且考虑到该程序将来可能会增长很多,因此还有很大的改进空间.
我有一个需要每10秒执行一次的线程.该线程包含对另一台服务器上的数据库的多次调用(12-15).此外,它还可以访问大约3个文件.因此,将会有相当多的IO和网络开销.
执行上述操作的最佳策略是什么?
一种方法是使用sleep方法和while循环,但这将是一个糟糕的设计.
在这种情况下,类似于Timer的类会有用吗?另外,最好是创建几个线程(一个用于IO,一个用于JDBC),而不是让它们在一个线程中运行?
我有一个程序,不断轮询数据库以获取某些字段值的变化.它在后台运行,目前使用while(true)和sleep()方法来设置间隔.我想知道这是一个好习惯吗?而且,实现这一点可能是一种更有效的方法?该计划旨在始终运行.
因此,停止程序的唯一方法是对进程ID发出kill.该程序可能处于JDBC调用的中间.我怎么能更优雅地终止它呢?我知道最好的选择是通过使用将由线程定期检查的标志来设计某种退出策略.但是,我无法想到改变这个标志值的方式/条件.有任何想法吗?
我有一个名为cmd的文件,其中包含一个unix命令列表,如下所示:
hostname
pwd
ls /tmp
cat /etc/hostname
ls -la
ps -ef | grep java
cat cmd
Run Code Online (Sandbox Code Playgroud)
我有另一个脚本执行cmd中的命令:
IFS=$'\n'
clear
for cmds in `cat cmd`
do
if [ $cmds ] ; then
$cmds;
echo "****************************";
fi
done
Run Code Online (Sandbox Code Playgroud)
问题是没有空格的cmd中的命令运行正常,但脚本没有正确解释带空格的命令.以下是输出:
patrick-laptop
****************************
/home/patrick/bashFiles
****************************
./prog.sh: line 6: ls /tmp: No such file or directory
****************************
./prog.sh: line 6: cat /etc/hostname: No such file or directory
****************************
./prog.sh: line 6: ls -la: command not found
****************************
./prog.sh: line 6: ps -ef | grep java: …Run Code Online (Sandbox Code Playgroud) 我正在测试一个String乘数类,其multiply()方法是将2个数作为输入(as String)并返回结果数(as String)
public String multiply(String num1, String num2);
Run Code Online (Sandbox Code Playgroud)
我已经完成了实现并创建了一个测试类,其中包含以下测试用例,其中包含输入String参数
现在我的问题是:
我想知道"每个"assertEquals()是否应该在它自己的测试方法中?或者,我可以将类似测试用例(如testInvalidArguments())分组以包含涉及无效字符的所有断言,因为它们都会抛出相同的NumberFormatException吗?
如果测试像字符("a")这样的输入值,我是否需要包含所有场景的测试用例?"a"作为第一个参数"a"作为第二个参数"a"和"b"作为2个参数
根据我的理解,这些单元测试的好处是找出用户输入可能失败并导致异常的情况.然后,我们可以为用户提供有意义的消息(要求他们提供有效的输入)而不是异常.那是对的吗?而且,这是唯一的好处吗?
上面提到的11个测试案例是否足够?我错过了什么?我过头了吗?什么时候够了?
从上述观点出发,我是否成功测试了multiply()方法?
可能重复:
查找使用的编程语言
所以,我有一个由可执行(exe)文件和DLL组成的应用程序.有没有办法可以找到用于开发此软件的特定语言.我尝试在反汇编程序中打开它,但内容似乎是乱码.有任何想法吗?
我打算用PreparedStatement对象替换重复执行的Statement 对象以提高性能.我正在使用像MySQL函数now()和字符串变量这样的参数.
PreparedStatement我见过的大多数查询都包含常量值(比如10和字符串"New York")作为?查询中使用的参数.我如何使用函数now()和变量作为参数?是否有必要?在查询中使用s而不是实际值?我很困惑.
我没有任何与Web服务相关的开发经验.所以,任何想法将不胜感激.
假设,我有一个文件列出了WSDL操作的草案规范.以下是一个例子.我将如何创建WSDL文件.记事本是否足够,还是需要WSDL编辑器?
getHostSystemInfo
Run Code Online (Sandbox Code Playgroud)
返回有关通过给定ID指定的主机系统的详细信息.
java ×7
jdbc ×4
bash ×1
database ×1
disassembly ×1
html ×1
junit ×1
performance ×1
refresh ×1
service ×1
shell ×1
soap ×1
timer ×1
unit-testing ×1
while-loop ×1
wsdl ×1