我尝试$(date)在我的bash shell脚本中使用,但是我想要YYYY-MM-DD格式的日期.我怎么得到这个?
你如何在很多jar文件中找到特定的类名?
(寻找实际的类名,而不是引用它的类.)
是否有类似于NetBeans中的Eclipse清理规则(首选项> Java>代码样式>清理)?
eclipse中的清理规则将允许您清理事务,例如组织导入,删除不必要的强制转换,添加缺少的覆盖注释等.
你也可以在一整套课程/包而不是单独的课程上做到这一点吗?
所以我一直听说PreparedStatements对性能有好处.
我们有一个Java应用程序,我们使用常规的'Statement'比使用'PreparedStatement'更多.在尝试使用更多PreparedStatements时,我试图更全面地了解PreparedStatements如何工作 - 在客户端和服务器端.
因此,如果我们有一些典型的CRUD操作并在应用程序中重复更新对象,它是否有助于使用PS?我知道每次都要关闭PS,否则会导致光标泄漏.
那么它对性能有何帮助?驱动程序是否缓存预编译语句,并在下次进行connection.prepareStatement时给我一份副本?或者DB服务器有帮助吗?
我理解关于PreparedStatements的安全性好处的论点,我理解下面强调它的答案.但是,我真的希望将讨论重点放在PreparedStatements的性能优势上.
更新:当我说更新数据时,我真的意味着更多的方法随机被多次调用.我理解下面提供的答案中的优点,它要求在循环中重用语句.
// some code blah blah
update();
// some more code blah blah
update();
....
public void update () throws SQLException{
try{
PreparedStatement ps = connection.prepareStatement("some sql");
ps.setString(1, "foobar1");
ps.setString(2, "foobar2");
ps.execute();
}finally {
ps.close();
}
}
Run Code Online (Sandbox Code Playgroud)
没有办法实际重用'ps'java对象,我理解实际的connection.prepareStatement调用非常昂贵.
这让我回到原来的问题.这个"一些sql"PreparedStatement仍然被缓存并重新使用在我不知道的封面下吗?
我还要提一下,我们支持几个数据库.
提前致谢.
有三种不同的方法可以从Blob列中获取数据:getBytes getBinaryStream getBlob
此外,getBlob返回的Blob对象上还有一个getBytes和getBinaryStream.
是否有任何特殊原因(性能,内存,数据库特定问题)我应该选择另一个?
Blob对象也有一个自JDBC 4.0以来引入的free()调用.这有什么区别吗?
我使用几个不同的数据库,发现自己经常尝试连接这些数据库以测试查询.我使用特定于数据库的工具连接到数据库并运行查询.
我发现这些特定于数据库的工具,如SQL查询分析器(SQL-Server),Oracle企业管理器,MySQL查询浏览器,在运行快速查询和直接查看数据时非常笨拙和缓慢.记住开发和测试数据库的所有用户ID和pwd也很难.
您使用哪些工具作为开发人员连接到所选数据库?我使用Eclipse作为IDE.因此,任何Eclipse特定提示也受到赞赏.
即使一个工具与一个DB一起使用而不与另一个DB一起工作,如果它比数据库供应商提供的更加用户友好,我愿意研究它.我已经使用了3种不同的.
我们有一个开发人员习惯在我们的存储库中的src/java文件夹下的java包中提交非java文件(xsd,dtd等).不可否认,这些是该软件包的相关文件,但我只是讨厌在src文件夹中看到非java文件.
这是我应该习惯的常见做法,还是通过维护这些文件来做一些奇怪的事情?
这ORDER BY通常很慢吗?我试图运行一些sql语句,其中该WHERE子句非常简单,但后来我尝试ORDER BY在VARCHAR(50)索引列上.
出于显示原因,我需要按字母顺序排序.我认为让数据库为我做这个是最有效的.
在这一点上,我期待着
这是我尝试运行的实际查询:
// B.SYNTAX is a TEXT/CLOB field
// Indexes on NAME, MODULENAME. PREVIOUS is a CHAR(1) with no index
"SELECT A.NAME, B.SYNTAX, B.DESCRIPTION, A.RATE1, A.RATE2,
A.RATE3, A.STARTDATE, A.ENDDATE, A.HIDE, A.CATEGORYNAME
FROM A, B WHERE A.MODULENAME='"+loadedModuleName+"'
AND A.NAME = B.NAME AND (A.PREVIOUS<>'N' OR A.PREVIOUS IS NULL)
ORDER BY A.NAME"
Run Code Online (Sandbox Code Playgroud)
表A的大小约为2000行,B约为500行.
我可能还应该提到,由于我们支持多个数据库,因此无法进行太多数据库特定的优化.此外,该应用程序部署在客户站点.
我期待返回数百条记录(少于1000条).
你会怎么做?任何提示都表示赞赏.谢谢.
有没有办法在一整套类/包而不是单个类上运行Eclipse清理规则?
(首选项> Java>代码样式>清理)
我右键单击该类并调用Source-Clean Up,但在一组类上调用它肯定会很好.
我有一堆可以根据环境改变的属性(配置).但是,一旦部署了Web应用程序,这些值就不会更改.因此,我认为有一个application.properties文件,我想在正常的程序流程中多次阅读.
我知道我可以在服务器启动时加载这些.但是,对于从后端的简单java类访问这些内容,最好的做法是什么?这些业务类与servlet等无关,并且不依赖于webapp.
所以今天我通过ServletContext加载属性.那又怎样?我应该在哪里保留它们以便其他对象可以轻松访问而无需再次执行fileInputStream.load?
谢谢.
java ×7
database ×3
eclipse ×2
bash ×1
class ×1
date ×1
formatting ×1
ide ×1
jar ×1
jdbc ×1
mysql ×1
netbeans ×1
oracle ×1
performance ×1
properties ×1
servlets ×1
shell ×1
sql ×1
sql-server ×1
strftime ×1
text-search ×1