Questions tagged «jdbc»

JDBC(Java数据库连接)是基本的API,通过使用Java编程语言执行SQL语句,可以与SQL数据库服务器进行交互。

8
如果不存在PostgreSQL,可以模拟CREATE DATABASE吗?
我想创建一个通过JDBC不存在的数据库。与MySQL不同,PostgreSQL不支持create if not exists语法。做到这一点的最佳方法是什么? 应用程序不知道数据库是否存在。它应该检查数据库是否存在并且应该使用它。因此,连接到所需的数据库很有意义,并且如果由于数据库不存在而导致连接失败,则应该创建新数据库(通过连接到默认postgres数据库)。我检查了Postgres返回的错误代码,但找不到与之相同的任何相关代码。 实现此目的的另一种方法是连接到postgres数据库,并检查所需的数据库是否存在,并采取相应的措施。第二个要解决一些麻烦。 有没有办法在Postgres中实现此功能?
115 sql  database  postgresql  jdbc  ddl 

13
如何在JDBC中建立连接池?
有人可以提供有关如何建立JDBC连接池的示例或链接吗? 通过搜索谷歌,我看到了许多不同的方法来做到这一点,这很令人困惑。 最终,我需要返回一个java.sql.Connection对象的代码,但是在上手时遇到了麻烦。欢迎任何建议。 更新: 没有javax.sql或java.sql没有池连接实现?为什么不最好使用这些?

3
在池中关闭JDBC连接
我们使用JDBC的标准代码部分是... Connection conn = getConnection(...); Statement stmt = conn.conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rset = stmt.executeQuery (sqlQuery); // do stuff with rset rset.close(); stmt.close(); conn.close(); 问题1:使用连接池时,是否应该在最后关闭连接?如果是这样,合并的目的就不会丢失吗?如果不是,那么DataSource如何知道何时释放Connection的特定实例并可以重用?我对此感到有些困惑,任何指针都表示赞赏。 问题2:以下方法是否接近标准?看起来像是尝试从池中获取连接,并且如果无法建立DataSource,请使用老式的DriverManager。我们甚至不确定哪个部分正在运行时执行。重复以上问题,是否应该关闭这种方法发出的连接? 谢谢-MS synchronized public Connection getConnection (boolean pooledConnection) throws SQLException { if (pooledConnection) { if (ds == null) { try { Context envCtx = (Context) …

16
如何在Java中将TimeStamp转换为Date?
date在Java中获得计数后,如何将“ timeStamp”转换为? 我当前的代码如下: public class GetCurrentDateTime { public int data() { int count = 0; java.sql.Timestamp timeStamp = new Timestamp(System.currentTimeMillis()); java.sql.Date date = new java.sql.Date(timeStamp.getTime()); System.out.println(date); //count++; try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pro", "root", ""); PreparedStatement statement = con.prepareStatement("select * from orders where status='Q' AND date=CURDATE()"); ResultSet result = …
105 java  date  jdbc  timestamp 

6
MySQL“创建模式”和“创建数据库”-有什么区别
对于一个宠物项目,在information_schema数据库中达到了顶峰并在元数据上达到了顶峰,我很难理解该create schema命令与create databaseMySQL命令之间的区别(如果有)。 有什么区别吗?如果不是这样,这是关系数据库的一种非常典型的行为模式(我听说对于其他数据库,例如Oracle,模式存在于数据库中,而不是与数据库处于同一级别)。 谢谢!
104 sql  mysql  oracle  jdbc  database 

6
JdbcTemplate queryForInt / Long在Spring 3.2.2中已弃用。应该用什么代替?
Spring 3.2中不推荐使用JdbcTemplate中的queryforInt / queryforLong方法。我找不到使用这些方法替换现有代码的最佳实践的理由或理由。 典型方法: int rowCount = jscoreJdbcTemplate.queryForInt( "SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?", playerNameKey.toUpperCase(), teamNameKey.toUpperCase() ); 确定以上方法需要重新编写如下: Object[] params = new Object[] { playerNameKey.toUpperCase(), teamNameKey.toUpperCase() }; int rowCount = jscoreJdbcTemplate.queryForObject( "SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?", …

13
Oracle JDBC ojdbc6 Jar作为Maven依赖项
我似乎无法让Maven将ojdbc6.jar文件捆绑到项目的war文件中。当直接为Hibernate工具指定依赖项时,我可以在POM文件中使用它。但是它不会与项目的war文件捆绑在一起,因此我的项目无法在Tomcat上运行。 我已经尝试了所有可以在网上找到的解决方案,包括为此问题在此处指定的解决方案: 在Maven存储库中查找Oracle JDBC驱动程序 最近,我做了以下事情: 将jar文件下载到我的机器上 运行以下命令以将jar安装到我的本地存储库中: mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true (我也尝试过该命令的各种变体。) 最后,将依赖项放入pom文件中: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency> 我运行一个干净的版本,但失败了: mvn -U clean package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building jazztwo 0.0.1 [INFO] ------------------------------------------------------------------------ Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] …
103 oracle  maven  jdbc  war 

19
ORA-01882:找不到时区区域
我正在从Java应用程序访问Oracle数据库,当我运行应用程序时出现以下错误: java.sql.SQLException:ORA-00604:在递归SQL级别1发生错误ORA-01882:找不到时区区域
102 oracle  jdbc  timezone 

6
在单个语句中用Java执行多个查询
嗨,我想知道是否可以使用JDBC执行类似的操作,因为即使在MySQL查询浏览器中,它当前也提供了异常。 "SELECT FROM * TABLE;INSERT INTO TABLE;" 虽然我确实意识到可以拆分SQL查询字符串并执行两次语句,但是我想知道是否存在一次性方法。 String url = "jdbc:mysql://localhost:3306/"; String dbName = "databaseinjection"; String driver = "com.mysql.jdbc.Driver"; String sqlUsername = "root"; String sqlPassword = "abc"; Class.forName(driver).newInstance(); connection = DriverManager.getConnection(url+dbName, sqlUsername, sqlPassword);
100 java  mysql  sql  jdbc 


2
多次重用PreparedStatement
在使用带有单个公共连接且没有任何池的PreparedStatement的情况下,我可以为每个具有预准备语句功能的dml / sql操作重新创建一个实例吗? 我的意思是: for (int i=0; i<1000; i++) { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setObject(1, someValue); preparedStatement.executeQuery(); preparedStatement.close(); } 代替: PreparedStatement preparedStatement = connection.prepareStatement(sql); for (int i=0; i<1000; i++) { preparedStatement.clearParameters(); preparedStatement.setObject(1, someValue); preparedStatement.executeQuery(); } preparedStatement.close(); 我的问题是我想将此代码放入多线程环境中,您能给我一些建议吗?谢谢

5
org.postgresql.util.PSQLException:致命:抱歉,已经有太多客户端
我正在尝试连接到Postgresql数据库,出现以下错误: 错误:org.postgresql.util.PSQLException:致命:抱歉,已经有太多客户端 错误是什么意思,我该如何解决? 我的server.properties文件如下: serverPortData=9042 serverPortCommand=9078 trackConnectionURL=jdbc:postgresql://127.0.0.1:5432/vTrack?user=postgres password=postgres dst=1 DatabaseName=vTrack ServerName=127.0.0.1 User=postgres Password=admin MaxConnections=90 InitialConnections=80 PoolSize=100 MaxPoolSize=100 KeepAliveTime=100 TrackPoolSize=120 TrackMaxPoolSize=120 TrackKeepAliveTime=100 PortNumber=5432 Logging=1
93 java  sql  postgresql  jdbc 

5
如何从JDBC结果集中获取列数?
我正在使用CsvJdbc(它是用于csv文件的JDBC驱动程序)来访问csv文件。我不知道csv文件包含多少列。如何获得列数?是否有任何JDBC函数?我在java.sql.ResultSet中找不到任何方法。 为了访问文件,我使用类似于CsvJdbc网站上示例的代码。
92 java  jdbc  csv  resultset 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.