Tag: mysql

由于撇号,Hibernate中的QueryException

这是我的查询 SQL_QUERY=”SELECT review.comment FROM ReviewDO review WHERE title='”+titleName+”‘”; 通过使用标题我试图得到它的描述。 例如,如果tileName=”Worth for money”; (没有撇号)查询将是: SQL_QUERY=”SELECT review.comment FROM ReviewDO review WHERE title=’Worth for money’; 我得到了输出。 但如果titleName=”Can’t beat the product”; (用撇号) SQL_QUERY=”SELECT review.comment FROM ReviewDO review WHERE title=’Can’t beat the product’; 我得到org.hibernate.QueryException:期待”’,找到’EOF’ 有什么方法可以避免这个问题吗?

如何将hibernate时间戳映射到MySQL BIGINT?

我正在使用Hibernate 3.x,MySQL 4.1.20和Java 1.6。 我正在将Hibernate Timestamp映射到MySQL TIMESTAMP。 到现在为止还挺好。 问题是MySQL以秒为单位存储TIMESTAMP并丢弃毫秒,现在我需要毫秒精度。 我想我可以在我的表中使用BIGINT而不是TIMESTAMP并转换我的Java代码中的类型。 我试图弄清楚是否有更好的方法使用hibernate,mysql,JDBC或某种组合这样做,所以我仍然可以在我的HSQL和/或SQL查询中使用日期函数?

用Java从MySQL读取blob

我在使用Java从MySQL数据库中读取blob时遇到问题。 我需要用jax-rs编写一个web服务来提供保存在数据库中的图像。 对于传输,必须使用Base64进行编码。 这是我的代码: public String getImage(@PathParam(“id”) int id) throws SQLException{ System.out.println(id); String img64str = “null”; Blob image = null; Connection conn = MySQLConnection.getInstance(); if(conn != null) { try{ // Anfrage-Statement erzeugen. Statement query; query = conn.createStatement(); // Ergebnistabelle erzeugen und abholen. String sql = “SELECT bild FROM beitraege where id=”+id; ResultSet result = query.executeQuery(sql); […]

使用JDBC驱动程序通过代理连接到MySQL

在Java中,我想从位于http代理后面的客户端计算机连接到Web服务器上的MySQL服务器。 我已经阅读了一些解决方案,有人说http隧道可能有效,有些人建议使用来自oracle的一个非常旧的链接 ,这个链接不再可用了。 所以问题是: 我们如何从http代理后面的计算机连接到MySQL服务器?

Java线程和MySQL

我有一个线程聊天服务器应用程序,需要MySQLvalidation。 让1个类创建MySQL连接,保持该连接打开并让每个线程使用该连接但使用自己的Query处理程序是最好的方法吗? 或者让所有线程与MySQL分开连接以进行身份​​validation更好? 或者让1个类处理查询和连接更好吗? 我们正在寻找一个应该能够处理多达10.000个连接/用户的聊天服务器。 我现在正在使用c3p0,我创建了这个: public static void main(String[] args) throws PropertyVetoException { ComboPooledDataSource pool = new ComboPooledDataSource(); pool.setDriverClass(“com.mysql.jdbc.Driver”); pool.setJdbcUrl(“jdbc:mysql://localhost:3306/db”); pool.setUser(“root”); pool.setPassword(“pw”); pool.setMaxPoolSize(100); pool.setMinPoolSize(10); Database database = new Database(pool); try { ResultSet rs = database.query(“SELECT * FROM `users`”); while (rs.next()) { System.out.println(rs.getString(“userid”)); System.out.println(rs.getString(“username”)); } } catch(Exception ex) { System.out.println(ex.getMessage()); } finally { database.close(); } […]

Primefaces 5.0图表 – 如何完全从数据库值动态创建图表模型和系列

我正在尝试创建图表,动态响应数据库中有关图表类型,图表模型和图表系列的值。 我看到的大多数示例和问题似乎只是静态定义图表模型和图表系列。 我想动态控制显示哪种类型的图表,图表模型和系列完全通过更改数据库中的值(通过后台或内容管理界面)显示。 我已经开发了后台内容管理系统(CMS)。 这个问题是关于如何使PF展示示例或API适应完全动态的模型,让后台定义图表的类型,模型和系列。 下面的示例尝试从3个mySql表生成一个条形图: 1)Endataset:包含由主键’idmid’定义的数据集的表2)Endataseries:包含与Endataset具有OneToMany关系的数据系列的表 – 由’recid’定义3)Endatapoint:包含实际数据值的表(数字和日期)由’pointid’定义 我想根据后台设置的内容,为每个数据集(idmid)返回一个BarChartModel和ChartSeries作为不同图表的列表。 换句话说,我想根据数据库中的许多值(数据集)动态创建图表模型和系列。 我可以使用下面的例子返回一个图表,但它显示了2个相同模型中的3个系列,而不是一个模型中的2个系列和第二个模型中的1个系列(这是我的目标)。 我的jsf: bean方法: public List getTestTopList() { testTopList = processChartList(); return testTopList; } public List processChartList() { chartType = “bar”; orig = guestChartFacade.findAll(); sers = new ArrayList(); for (int n = 0; n < orig.size(); n++) { idmid = orig.get(n).getIdmid(); selJoin = guestChartFacade.find(idmid); startDate […]

java.sql.SQLException:超出锁定等待超时; 尝试在MYSQL中重启事务exception

我在MYSQL中使用表名“test”,它在事务T1期间锁定,将在20分钟内完成。 当我在这20分钟内通过另一个事务T2更新此表时。 我得到一个例外: – 11:58:38,584 ERROR [STDERR] java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1124) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676) 请给我一个解决方案,如何在不得到此exception的情况下执行此事务T2? 在mysql数据库中更新innodb_lock_wait_timeout的值是否正确以解决此exception。 我期待着为这个问题找到任何有用的解决方案。

如何配置eclipselink JTA序列连接池

我在MySQL上遇到了TABLE序列的并发问题,并发现该解决方案可能正在为序列生成配置一个单独的连接池。 在这个stackoverflow问题中,它指向Eclipselink文档 ,其中有一个示例为空的部分。 我似乎无法找到任何如何配置的示例。 我的persistence.xml目前在下面。 我应该更改什么以确保在单独的事务/连接池上执行序列生成。 知道我应该寻找什么来确定它的工作也很好,除了等待看死锁是否停止发生。 非常感谢 jdbc/myapp jdbc/myapp/nonjta false

如何使用liferay portlet在db中插入数据

如何使用Liferay在MySql中插入数据? 我已经从edit.jsp创建了Edit.jsp,view.jsp我想输入数据并在view.jsp中我想显示我的数据。 在edit.jsp中输入的这些数据应该存储在我的mysql表中。 我创建了service.xml,portal-ext.properties。 我也有java文件。 请告诉我在哪里编写插入逻辑以将数据存储到数据库中。 这是我的Java代码。 我有edit.jsp文件和view.jsp文件,我使用service.xml文件创建了表,并将portal-ext.properties放在classes文件夹中。 有什么事吗? 我是liferay的新人 package com.portlet; import java.io.IOException; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.GenericPortlet; import javax.portlet.PortletException; import javax.portlet.PortletMode; import javax.portlet.PortletPreferences; import javax.portlet.PortletRequestDispatcher; import javax.portlet.PortletURL; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.liferay.counter.service.CounterLocalServiceUtil; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portlet.model.testimonial; import com.liferay.portlet.service.testimonialLocalServiceUtil; public class Testimonial extends GenericPortlet { protected String editJSP; […]

如何使用websockets从mysql获取实时通知更新?

从几天开始,我一直在搜索社交网络或Q / A网站如何获得实时通知。 我开始了解订阅者 – 发布者模式。 我开始知道使用WebSockets获取实时更新。 Websocket发布端点,客户端订阅该端点,并不断获取任何更改的更新。 但我从网上得到的例子都是聊天应用程序。 但我的要求是从MySQL DB获取实时通知。 所以我的想法很少 我是否正在使用WebSockets来满足正确的要求? 或者我的要求还有其他一些有效的方法吗? 如果这对我来说是有效的方式,我认为解决这个问题的模式是:WebSocket将连接到MySql并始终查找更改。 它还发布了我的客户端将始终寻找的端点。 提交给Mysql的任何更改都将反映在WebSocket中并导致客户端应用程序。 如果我的模式是正确的,我不知道如何将WebSocket连接到Mysql。 任何帮助/指导都非常感谢。 更新 : 经过一些网络搜索: 1.由于我为我的网站创建了Rest Webservices,AJAX是实现通知function而不是WebSockets的更好方法吗? 2. WebSockets是否比实现Rest端点的AJAX调用更复杂(因为两者的目的相同,是为了获取通知)?