草庐IT

jdbc-Statement

全部标签

sql - 数据库不可知的 jdbc 表导入/导出到文件?

是否有可能进行与数据库无关的表转储/水合物?我没有任何复杂的约束。我也会接受特定于数据库的方式,但越纯的jdbc越好(我不想求助于impdp/expdp)。 最佳答案 看看DBUnit.DBUnit支持导出到xml文件,以及从xml文件导入。他们的faq有一些关于如何快速导出/导入的建议,请务必查看。 关于sql-数据库不可知的jdbc表导入/导出到文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

java - statement.getGeneratedKeys() 和 MySQL

我已经了解到mysql中的last_insert_id不是池安全的。也就是说,如果你正在合并连接,你会弄乱insert_ids。java的statement.getGeneratedKeys()如何获取插入的key?它对游泳池安全吗? 最佳答案 我引用了MySQLConnector/J中的相关文本internals这里:Youshouldbeaware,thatattimes,itcanbetrickytousethe'SELECTLAST_INSERT_ID()'query,asthatfunction'svalueisscope

java - JDBC-c3p0- hibernate -setAutocommit,有人可以帮我澄清一下吗

我的提问的基本根源来自于这种观察。当我使用Hibernate并进行任何查询时,我在MySQL日志中得到以下内容:SETautocommit=0insertintoSimpleNamedEntity(name,version)values(null,0)commitSETautocommit=1现在,我进行了一些研究(下面的参考文献会添加更多的内容,但看起来似乎不够好:-)),这似乎是一个相当经典的问题。我对各种级别的体系结构(mysql配置,jdbc,连接池,休眠)进行了许多测试,以更好地了解事物的工作方式,结果我变得更加困惑,所以这里有几个问题:有人可以确认自动提交是否对性能产生负面

mysql - 在 Web 应用程序中通过 JDBC 连接到数据库时,何时需要 Class.forName?

根据thistutorial,对于JDBC4.0+驱动程序,不再需要调用Class.forName。对于使用MySQL的独立程序,我成功地遵循了示例中的方法(仅调用DriverManager.getConnection),但是当我尝试从属于在Tomcat7上运行的Web应用程序无法运行;相反,我得到了一个Nosuitabledriverfound异常。mysql-connector-java-5.1.18-bin.jar文件在tomcat\webapps\DatabaseProject\WEB-INF\lib中,我检查了三次,但它没有用,所以我开始尝试。我添加了对Class.forNa

mysql - 转mysql select to delete statement - 我怎么办?

这个问题在这里已经有了答案:HowtoturnthisMySQLSELECTqueryintoaDELETEquery?(6个答案)关闭8年前。我只想从一个表中删除,但我必须根据相关表中的条件进行选择。我之前在此处找到的示例讨论了从一张表中删除的内容。如何将下面的select变成delete语句?selectr.id,r.reminder_date,c.full_name,c.companyfromremindersrleftjoinclientsconr.client_id=c.idwhere(c.full_nameisnullorc.full_name="")AND(c.compa

mysql - 由于 BINLOG_FORMAT = STATEMENT,使用语句格式写入二进制日志的不安全语句。

尝试从Django管理屏幕插入值时出现以下错误-UnsafestatementwrittentothebinarylogusingstatementformatsinceBINLOG_FORMAT=STATEMENT.Statementisunsafebecauseitaccessesanon-transactionaltableafteraccessingatransactionaltablewithinthesametransaction.RequestMethod:POSTRequestURL:**DjangoVersion:1.3.1ExceptionType:WarningE

java - JDBC 在同一台服务器上连接两个 MySQL 数据库?

基本上我需要通过jdbc运行以下查询。两个数据库都是MySQL,并且在同一台服务器上。SELECT*FROMDB1.ACCOUNTaJOINDB2.ITEMiONa.AccountID=i.AccountID我的jdbc连接是这样设置的:Class.forName("com.mysql.jdbc.Driver").newInstance();DB1=DriverManager.getConnection("jdbc:mysql://serverloc.com:3300/DB1","username","password");DB2=DriverManager.getConnection

java - MySQL JDBC 插件加载

我在初始化MySQLJDBC连接的代码中看到过很多这种类型的代码。Class.forName("com.mysql.jdbc.Driver");conn=DriverManager.getConnection("jdbc:mysql://10.0.0.2:3306","username","password");现在我的问题是为什么/什么时候需要第一行?通过这个,我已经能够毫无问题地连接到MySQL数据库:conn=DriverManager.getConnection("jdbc:mysql://10.0.0.2:3306","username","password");我正在使用J

mysql - ElasticSearch river JDBC MySQL 不删除记录

我正在使用ElasticSearch的JDBC插件来更新我的MySQL数据库。它拾取新的和更改的记录,但不会删除已从MySQL中删除的记录。它们保留在索引中。这是我用来创建河流的代码:curl-XPUT'localhost:9200/_river/account_river/_meta'-d'{"type":"jdbc","jdbc":{"driver":"com.mysql.jdbc.Driver","url":"jdbc:mysql://localhost:3306/test","user":"test_user","password":"test_pass","sql":"SEL

java - MySQL JDBC 驱动程序中的客户端仿真准备语句

我试图了解MySQLJDBC驱动程序中的客户端仿真准备语句是如何工作的。第1部分我在网上看到,对于准备好的语句,关系数据库处理JDBC/SQL查询时涉及四个步骤,它们如下:解析传入的SQL查询编译SQL查询规划/优化数据采集路径执行优化查询/获取并返回数据预执行步骤会编译SQL语句,从而提供预优化。对于服务器端准备好的语句,将对数据库进行额外的往返以预编译SQL语句。问题如果客户端仿真准备语句不往返数据库,它如何执行第3步?还是客户端仿真准备语句的工作方式不同?第2部分我也做了两个实验。实验1-使用一个客户端准备好的语句查询实验2-为多次相同的查询两个实验都显示响应时间等性能有所改善。