草庐IT

activerecord-jdbc

全部标签

mysql - 将无效的 ActiveRecord 日期插入 MySQL 数据库

MySQL允许date字段的值为0000-00-00,但是ActiveRecord将分配给Date值为nil。我有一个遗留应用程序依赖于“从不”概念的确切字段内容,因此如果客户最后付款日期是0000-00-00,它会确认为“从不”付费。有没有一种方法可以覆盖此date字段的ActiveRecord(正确)验证并将此值写入数据库而不会弄脏我的手(太)?感谢您的任何见解。 最佳答案 我在Rails3.0.3项目中遇到了这个问题,猴子修补了以下内容,允许您将“0000-00-00”分配给模型日期字段。该值将在插入/更新时传递到mysql数

使用 JDBC 的 Java - 连接太多?

作为我最后一年的项目,我正在为一家酒吧编写一个库存补货系统。我可以从MYSQL数据库中检索信息,并且可以一次滚动浏览一个结果。我正在尝试根据所选类别更改结果。我已经设法使用组合框来实现此目的,但在类别之间移动时出现以下错误:Exceptioninthread"main"com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Datasourcerejectedestablishmentofconnection,messagefromserver:"Toomanyconnections"两个独立文件的代码如

java - 如何在 jdbc url 中放入和号 (&)?

我有一个带有glassfish服务器并使用EclipseLink(JPA2.1)的动态应用程序。我以前可以直接把jdbc配置放在persistence.xml里面,没有任何问题。但现在它迫使我为glassfish创建一个数据源名称,并将jdbc配置放入glassfish-resources.xml文件中。问题是我想将mysql的字符编码设置为utf8,因此,我使用以下url作为jdbcurl:jdbc:mysql://localhost:3306/fastfood?zeroDateTimeBehavior=convertToNull;&characterEncoding=UTF

mysql - ActiveRecord,有意将字符串截断为数据库列宽

在Rails4中,ActiveRecord及其MySQL适配器已设置,因此如果您尝试将AR模型中的属性保存到MySQL数据库,其中属性字符串长度对于MySQL列限制来说太宽了——您将引发异常。太棒了!这比Rails3的默认设置要好得多,Rails3会自动截断字符串。但是,偶尔我有一个属性,我明确希望将其简单地截断为数据库允许的最大大小,无一异常(exception)。我无法找出使用AR执行此操作的最佳/受支持的方法。理想情况下,它应该在设置属性后立即发生,但我认为它会在保存时发生。(这不完全是“验证”,因为我从来不想提出,只是截断,但也许验证系统是执行此操作的最佳支持方式?)理想情况下

java - JDBC Hibernate - Mysql 连接错误

我的Ubuntu11.10桌面上有一个本地mysql服务器。主机名=本地主机;用户名=根;密码=根;数据库名称=CBS。我真的很困惑,因为当我使用terminal、mysqladministrator和mysqlquerybrowser访问mysql时,我使用了上面提到的那些身份验证,一切都是好的。我的问题是当我在我的Java应用程序中配置jdbc.properties时出现此错误:org.springframework.web.util.NestedServletException:Requestprocessingfailed;nestedexceptionisorg.spring

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

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