草庐IT

jdbc_driver_library

全部标签

java - 如何在 Spring 中使用 JDBC 为 ClientDetailsS​​erviceConfigurer 添加客户端?

我的内存工作如下:@Overridepublicvoidconfigure(ClientDetailsServiceConfigurerclients)throwsException{clients.inMemory().withClient("clientapp").authorizedGrantTypes("password","refresh_token").authorities("USER").scopes("read","write").resourceIds(RESOURCE_ID).secret("123456");}我想使用JDBC实现。为此,我创建了以下表(使用My

java - JDBC 与 MySQL 的持久连接

我有一个使用JDBC连接到MySQL的应用程序。在某些情况下,JDBC连接会闲置数小时(甚至数天),并失去与MySQL的连接,然后在尝试执行查询时除外。最好的解决方案是什么? 最佳答案 在有限的时间内保持连接打开是一种不好的做法。当数据库打开时间过长时,数据库将强制关闭。您应该编写JDBC代码,以便它始终在您获取它们的同一tryblock的finallyblock中关闭连接(以及语句和结果集)为了防止这样的资源泄漏。但是,在每次打嗝时获取连接确实是一项非常昂贵的任务,因此您希望使用连接池。体面的连接池将自行管理连接的打开、测试、重用

mysql - 为什么 Hibernate/JDBC/MySQL 在一天左右后会断开连接?

我有几个服务器进程,它们偶尔会响应来自客户端的消息并执行只读事务。服务器运行大约几天后,它们停止正常工作,当我检查时发现有一大堆关于连接被关闭的消息。当我检查出来时,发现hibernate默认情况下在某种开发模式下工作,在这种模式下连接会在几个小时后断开,我开始使用c3po进行连接池。但是,即使使用c3po,我也会在服务器启动后大约24小时左右遇到这个问题。有没有人遇到过这个问题并且知道如何解决它?我对配置hibernate的复杂性不够熟悉。 最佳答案 MySQLJDBC驱动程序在8小时不活动后超时并断开连接。您可以在JDBCURL

mysql - com.mysql.jdbc.PacketTooBigException

我在MYSQL中存储图像。我有tableCREATETABLEmyTable(idINT,myImageBLOB);当我尝试插入4.7MB文件时,我收到异常com.mysql.jdbc.PacketTooBigException:Packetforqueryistoolarge(4996552>1048576).Youcanchangethisvalueontheserverbysettingthemax_allowed_packet'variable.我相信这仅与图像大小有关。还有其他我可以使用的变量类型吗?更新1根据较早的SO问题,我也尝试使用MEDIUMBLOB但仍然遇到相同的错

java - 如何通过JDBC接口(interface)将UTF-8字符串正确写入MySQL

连接到数据库:publicDBSource(ConnectionInfoci)throwsClassNotFoundException,InstantiationException,IllegalAccessException,SQLException{Class.forName("com.mysql.jdbc.Driver").newInstance();StringdbPath=String.format("jdbc:mysql://%s:%d/%s?user=%s&password=%s&characterEncoding=utf-8&"+"useUnicode=true",ci

java - 将参数传递给 JDBC PreparedStatement

我正在尝试为我的程序创建验证类。我已经建立了与MySQL数据库的连接,并且已经在表中插入了行。该表由firstName、lastName和userID字段组成。现在我想通过构造函数的参数选择数据库中的特定行。importjava.sql.*;importjava.sql.PreparedStatement;importjava.sql.Connection;publicclassValidation{privatePreparedStatementstatement;privateConnectioncon;privateStringx,y;publicValidation(Strin

mysql - 使用 JDBC 启用 MySQL 通用查询日志

有没有办法通过JDBC启用MySQL常规查询日志记录?我通过搜索找到的最接近的东西是能够通过JDBC记录慢速查询(http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-configuration-properties.html)。也许我应该这样做并将慢查询阈值设置为0毫秒?我想通过MySQL以人类可读的格式记录所有查询,并想指定应该写入日志文件的位置。我知道我的性能会受到影响,但我的应用程序只有一个用户,而且非常简单,如果性能受到明显影响,我会感到惊讶。无论如何我都想试试看。我相信我的另一个选择是打开二进制日志记录并使

java - 使用 JDBC 连接器 5.1 从 Java 读取/写入 MySQL 中的 UTF-8 数据时出现问题

我有一个场景,其中包含两个MySQL数据库(UTF-8)、一个同步两个数据库的Java代码(一个计时器服务)(首先读取它们并写入/更新到第二个)和一个允许修改的Web应用程序加载到第二个数据库中的数据。所有数据库访问都是使用IBATIS进行的(但我发现使用JDBC,PreparedStatement和ResultSet时我遇到了同样的问题)当我的java代码从第一个数据库中读取数据时,我得到了像'ó'这样的字符。当真的它必须是'ó'.该数据无需修改即可写入第二个数据库。稍后,当我在我的Web应用程序中看到加载的数据时,尽管.如果我使用...解码数据newString(data.get

java - MySQL Connector/JDBC 线程安全吗?

标准的MySQLJDBC驱动程序是线程安全的吗?具体来说,我想在所有线程中使用单个连接,但每个语句只会在单个线程中使用。是否存在某些安全的场景和其他不安全的场景?您在这里有什么经验? 最佳答案 每个连接都会启动/提交事务。除非您正在做一些非常具体的事情(我真的想不出一个可以说实话的例子),否则最好使用连接池和每个线程的连接。 关于java-MySQLConnector/JDBC线程安全吗?,我们在StackOverflow上找到一个类似的问题: https:/

mysql - MySQL JDBC Driver中的cachePrepStmts和useServerPrepStmts有什么区别

MySQLJDBC驱动程序将这两个属性定义为:useServerPrepStmts-Useserver-sidepreparedstatementsiftheserversupportsthem?cachePrepStmts-ShouldthedrivercachetheparsingstageofPreparedStatementsofclient-sidepreparedstatements,the"check"forsuitabilityofserver-sidepreparedandserver-sidepreparedstatementsthemselves?客户端预处理语句