草庐IT

JDBC4Connection

全部标签

java - Tomcat7 JDBC 池

我在META-INF中有以下内容在我的web.xml中有DBConnectionjdbc/TestDBjavax.sql.DataSourceContainer在我的Java代码中有ContextinitContext=newInitialContext();ContextenvContext=(Context)initContext.lookup("java:/comp/env");DataSourcedatasource=(DataSource)envContext.lookup("jdbc/TestDB");con=datasource.getConnection();当Tomc

mysql - 使用 Spring 的 "jdbc:initialize-database",如何使用存储过程运行脚本?

我使用的是Spring3.1.1.RELEASE、JUnit4.8.1和MySQL5.5。我想在每次测试前截断我所有的表数据,但在Spring中出现错误,即使我可以通过命令行正常执行以下脚本(truncate_tables.sql)......dropprocedureifexiststruncate_tables;delimiter#createproceduretruncate_tables()begindeclaretab_namevarchar(64);declaredonetinyintunsigneddefault0;declaretable_curcursorforsel

java - Spring JDBC 给出错误 :"queryForObject(String, Object[], Class<String>) from the type JdbcTemplate refers to the missing type DataAccessException "

我在DAO中创建了一个方法:publicStringgetUserName(intuserid){Stringsql="SELECTuserNamefromUserDetailwhereuserid=?";returnjdbcTemplate.queryForObject(sql,newObject[]{userid},String.class);}此行:jdbcTemplate.queryForObject(sql,newObject[]{userid},String.class)出现以下错误:ThemethodqueryForObject(String,Object[],Class

python - 我应该如何在 Bottle 应用程序中使用 sqlalchemy session 来避免 'Lost connection to MySQL server during query'

我的bottle/sqlalchemy应用托管在pythonanywhere.com上,不确定这是否重要,我希望不会。在我离开一段时间后,该应用程序抛出“查询期间与MySQL服务器失去连接”。然后我刷新它,它工作正常。请注意,我也有相同的查询实现没有sqlachemy,只使用MySQLdb。该实现始终运行良好,它从不抛出异常,因为它每次都会建立一个新连接。我假设,在像pythonanywhere这样的托管环境中,我无法摆弄可能影响此错误的mysql配置,例如max_allowed_pa​​cket或超时。我应该如何创建sqlalchemy引擎和session来解决这个问题?bottle

java - 缓存 JDBC 连接

我有一个非常依赖数据库的小型电子商务应用程序。我已经看到它的一些性能问题,主要是在建立与数据库的连接时。我不是DBA,也不是任何其他深入的数据库知识-但我知道缓存连接而不是一直建立新连接是有意义的。下面是我获取连接的方法:publicConnectiongetConnection()throwsSQLException,ClassNotFoundException{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://182.31.456.32:3306/"+databa

java - 使用 JDBC 时,MySQL 中 Oracle 的 REF CURSOR 等效于什么?

在Oracle中我可以声明一个引用游标...TYPEt_spoolISREFCURSORRETURNspool%ROWTYPE;...并用它来传递游标作为返回值...FUNCTIONend_spoolRETURNt_spoolASv_spoolt_spool;BEGINCOMMIT;OPENv_spoolFORSELECT*FROMspoolWHEREkey=g_spool_keyORDERBYseq;RETURNv_spool;ENDend_spool;...然后使用JDBC将其捕获为结果集...privateConnectionconn;privateCallableStateme

java - java.sql.Connection 对象在垃圾收集时会自动关闭吗?

我遵循在最后一个block中放置一个close()的做法:voidfoo(){Connectionconn;try{conn=getConnection();//..}final{try{conn.close()}catch(Exceptione){}}}是否真的有必要在连接上调用close(),或者垃圾收集器会自动执行此操作?我可以接受垃圾收集会导致的额外延迟,我只是不希望连接永远保持打开状态。 最佳答案 isitreallynecessarytocallClose()ontheconnection是的。orthegarbagec

mysql - python : sqlalchemy - how do I ensure connection not stale using new event system

我在python中使用sqlalchemy包。在对现有表执行自动加载后,我有一个操作需要一些时间才能执行。当我尝试使用连接时,这会导致以下错误:sqlalchemy.exc.OperationalError:(OperationalError)(2006,'MySQLserverhasgoneaway')我有一个简单的实用程序函数,它执行多次插入:definsert_data(data_2_insert,table_name):engine=create_engine('mysql://blah:blah123@localhost/dbname')#MetadataisaTableca

php - 如何在 2 个查询之间共享 connection_id?

我需要同时执行两个SQL语句,因为第一个语句中的connection_id()将在MysqlViewwp_statistics_benchmarks中使用。如果没有connection_id(),wp_statistics_benchmarks就是一个空View。以下SQL运行良好并得到结果:replaceintowp_params(`view_name`,`param1_val`,`connection_id`)values('benchmarks',484,connection_id());select*fromwp_statistic_benchmarks;但是,要使用wordp

java - JDBC mysql不支持PreparedStatement中的LIMIT占位符?

我使用mysql-connector-java-5.1.38在Windows1064位上运行mysql-community-5.7.10.0。我尝试在limit中绑定(bind)值以进行分页"SELECT*FROMemployeeLIMIT?,?"但是结果显示:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousene