Tag: mysql

如何在Java中替换/删除UTF-8字符串中的4(+)字节字符?

因为MySQL 5.1不支持4字节UTF-8序列,所以我需要替换/删除这些字符串中的4字节序列。 我正在寻找一种干净的方法来替换这些角色。 对于这种情况,Apache库正在用问号替换字符,但是当然,ASCII等价物会更好。 NB输入来自外部源(电子邮件名称),此时升级数据库不是解决方案。

为什么每次重新部署时都需要刷新连接池?

我通过Glassfish成功连接到远程MySQL服务器,但是每次我更改代码或XHTML文件时,我都需要打开Glassfish的管理员面板并刷新连接池,否则我会收到以下错误我只是刷新页面。 有没有人经历过这个? 如果需要,我可以发布代码或其他信息。 HTTP状态500 – 类型exception报告 信息 description服务器遇到内部错误(),导致无法完成此请求。 例外 javax.servlet.ServletException:WELD-000049无法在com.myapp.QuestionController@4635bd2a上调用[方法] @PostConstruct public com.myapp.QuestionController.initialize() 根本原因 org.jboss.weld.exceptions.WeldException:WELD-000049无法在com.myapp.interfaces.QuestionController@4635bd2a上调用[方法] @PostConstruct public com.myapp.interfaces.QuestionController.initialize() 根本原因 java.lang.reflect.InvocationTargetException 根本原因 javax.ejb.EJBExceptionexception 根本原因 javax.persistence.PersistenceException:Exception [EclipseLink-4002](Eclipse Persistence Services – 2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException内部exception:java.sql.SQLException:分配连接时出错。 原因:java.lang.RuntimeException:在XAResource.start期间出现exception:错误代码:0 根本原因 exception[EclipseLink-4002](Eclipse Persistence Services – 2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException内部exception:java.sql.SQLException:分配连接时出错。 原因:java.lang.RuntimeException:在XAResource.start期间出现exception:错误代码:0 根本原因 java.sql.SQLException:分配连接时出错。 原因:java.lang.RuntimeException:在XAResource.start期间出现exception: 根本原因 javax.resource.spi.ResourceAllocationException:分配连接时出错。 原因:java.lang.RuntimeException:在XAResource.start期间出现exception: 根本原因 com.sun.appserv.connectors.internal.api.PoolingException:java.lang.RuntimeException:在XAResource.start期间出现exception: 根本原因 com.sun.appserv.connectors.internal.api.PoolingException:java.lang.RuntimeException:在XAResource.start期间出现exception: 根本原因 java.lang.RuntimeException:在XAResource.start期间出现exception: 根本原因 javax.transaction.xa.XAException:com.sun.appserv.connectors.internal.api.PoolingException:javax.resource.spi.LocalTransactionException:通信链接失败 从服务器成功收到的最后一个数据包是435 409毫秒前。 成功发送到服务器的最后一个数据包是7毫秒前。 配置的图像 […]

如何使用Java和MySQL确定插入或更新是否成功?

我正在使用Java连接到MySQL数据库。 我正在尝试将数据插入或更新到数据库中。 尽管我非常确定插入是成功的,但它返回false。 根据“execute”API,返回值为“如果第一个结果是ResultSet对象,则为true;如果是更新计数,则为false”或“没有结果”。 如何确定插入或更新是否成功? public boolean insertSelections(String selection, String name){ String sql =”INSERT INTO WORKREPORT VALUES (?,?,?,?,?)”; boolean action = false; try { PreparedStatement stmt = conn.prepareStatement(sql); SimpleDateFormat dateFormat = new java.text.SimpleDateFormat(“yyyy:MM:dd hh:mm:ss”); String formatDate = dateFormat.format(new java.util.Date(System.currentTimeMillis())); java.util.Date mDate = dateFormat.parse(formatDate); java.sql.Timestamp timeStamp = new java.sql.Timestamp(System.currentTimeMillis()); // Date time= new Date(mDate.getTime()); stmt.setInt(1, Integer.parseInt(getNumberByName(name).trim())); […]

如何将JDBC mysql驱动程序添加到Eclipse项目中?

我已经下载了mysql-connector-java-5.1.24-bin.jar 我在我的项目中创建了一个lib文件夹并将jar放在那里。 project-> build path->的属性添加JAR并选择上面的JAR。 我仍然得到java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql 我使用的是mysql 5.5代码: package DBTest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.sql.*; import java.util.*; /** * Servlet implementation class TenUsers */ @WebServlet(“/TenUsers”) public class TenUsers extends HttpServlet { /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) […]

Spring应用程序在8小时后失去与MySql的连接。 如何正确配置?

我有一个Spring应用程序,我相信使用DBCP连接池连接到MySql数据库。 我说相信,因为这不是一个我非常强大的领域,如果一切都设置正确,我不肯定。 我没有运行应用程序的问题,一切正常。 问题一夜之间发生。 该应用程序没有大量使用,一夜之间它显然失去了它与MySql的连接。 我调查了一下,发现MySql有一个8小时的窗口然后断开连接或其他什么。 我对此很好,但是当用户尝试在早上登录时,他们会收到如下错误: 通信链路故障。 最后一个数据包成功收到60,000,000ms前。 最后一个数据包在15ms前成功设置。 这就是问题。 我需要它们能够在早上重新连接而不会遇到这个问题。 我似乎能够修复它的唯一方法是通过弹跳Tomcat服务器。 通过查看,似乎DBCP池应该能够以某种方式防止这种情况,但我找不到关于如何配置它的可靠信息来源。 我希望这里有人可以为我提供一些见解。 这是我当前的配置,全部在Spring xml文件中完成: APP-data.xml中 我不确定我需要添加哪些特定属性才能允许应用程序重新连接到数据库。 我不介意它是否在几个小时后关闭连接,但它应该自动重新连接,而不是像这样抛出错误。 我甚至不肯定它实际上已设置为使用连接池。 所以任何帮助都将非常感谢,谢谢。 UPDATE 我找到了这个页面 ,我认为我需要做的就是添加ValidationQuery属性。 任何人都可以validation这是否会产生欲望影响,同时保留其他所有内容? 我相信这将使用DBCP的testOnBorrow方面。 我不完全理解testOnBorrow所说的解释是什么,但我认为这会做我想要的。 有谁确认? 谢谢。

MySQL InnoDB挂起等待表级锁

我有一个很大的生产网络应用程序(Glassfish 3.1 + MySQL 5.5)。 所有表都是InnoDB。 每隔几天应用程序完全挂起。 SHOW FULL PROCESSLIST在不同的表上显示了许多简单的插入或更新查询,但都具有状态 等待表级锁定 例子: update user set user.hasnewmessages = NAME_CONST(‘in_flag’,_binary’\0′ COLLATE ‘binary’) where user.id = NAME_CONST(‘in_uid’,66381) insert into exchanges_itempacks set packid = NAME_CONST(‘in_packId’,332149), type = NAME_CONST(‘in_type’,1), itemid = NAME_CONST(‘in_itemId’,23710872) 具有最长“时间”的查询也在等待表级锁定。 请帮助弄清楚为什么MySQL试图获得级别锁定以及可以锁定所有这些表的内容。 关于InnoDB锁定的所有文章都说如果不强制它,这个引擎就不使用表锁定。 我的my.cnf有这个: innodb_flush_log_at_trx_commit = 0 innodb_support_xa = 0 innodb_locks_unsafe_for_binlog = 1 innodb_autoinc_lock_mode=2 二进制日志已关闭。 我根本没有“LOCK TABLES”或其他显式锁定命令。 交易是READ_UNCOMMITED […]

实现twitter和facebook就像hashtags一样

这可能看起来很愚蠢..而且没有研究的问题,但相信我不是。 我做了一些研究。 其中一个将是以下链接: http : //www.quora.com/Twitter-1/How-does-Twitter-implement-hashtags 此外,我不是在寻找一个完整的解决方案..我会努力工作,但我只需要一些指导,只想知道我应该采用哪种方式? 我想实现twitter,现在甚至像我的应用程序的hash标签一样。所以用户可以添加带有主题标签的消息,而其他人可以搜索它们…就像趋势和相关内容一样。 我们在存储技术堆栈中使用Mysql,mongo和elasticsearch。 任何想法我怎么能开始实现这个? 我需要另一个存储空间吗? 一种方法是我可以将我的hastags存储在db中,然后在Elasticsearch中对它们进行文本搜索。 在这个领域有更多经验的人可以在这里提出什么建议?

APPARENT DEADLOCK为未分配的待处理任务创建紧急线程

我正在使用mybatis的mysql,我在我们的实时服务器上问候这个错误 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@6538f8f2 — APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 由于我的C3P0设置,我不明白为什么会出现这个错误? 我的C3P0设置是这样的 —-开始更新—– 下面是我的spring-servlet.xml配置 我将 datasource bean 更新为 从我的Dao类中我称之为mapper方法 myDao.updateRecords() 这是我的服务类方法 @Override public List selectAllUsersDetail(long groupId, List ids) { List usersDetailList = null; try { usersDetailList = userDao.selectAllUsersDetail(groupId, ids); } catch (Exception e) { e.printStackTrace(); } return usersDetailList; } 在Dao类我只是注入映射器。 @Resource private UserMapper […]

MyBatis枚举用法

我知道之前已经问过这个问题,但是根据我到目前为止找到的信息,我无法实现解决方案。 所以也许有人可以向我解释。 我有一张桌子“状态”。 它有两列:id和name。 id是PK。 我想使用枚举,而不是使用POJO状态。 我创建了如下枚举: public enum Status { NEW(1), READY(2), CLOSED(3); private int id; public void setId(int id) { this.id = id; } public int getId() { return this.id; } Status(int id) { this.id = id; } } 这是我的映射器 SELECT ls.id, ls.name FROM status AS ls WHERE ls.name = #{name} 但由于某种原因,当我尝试检索枚举时,某些东西会中断,但不会抛出任何exception。

tomcat 6.0.24exception:无法加载com.mysql.jdbc.SQLError

经常运行centos的tomcat 5服务器(几次/天)会产生以下错误: Apr 7, 2011 11:02:30 PM org.apache.catalina.loader.WebappClassLoader loadClass INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.SQLError. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no […]