Tag: mysql

以下sql代码无法插入数据的原因是什么?

我的数据库有两列。 一列是自动增量id(Primary Key) ,另一列是’Sentence’列。 手动输入内容,我可以插入该值。 但是当我尝试插入变量值时会出现错误消息。 我尝试了不同的方法。 (‘?’) /( ? )/(?)不适用于我。 int s1=9; String s2=”Kasuni”; String sql = “INSERT INTO sentences (Sentence) VALUES ( ? )”; PreparedStatement pstmtJ = conn.prepareStatement(sql); //pstmtJ.setInt(1, s1); pstmtJ.setString(1,s2); pstmtJ.executeUpdate(sql); 第一个值我没有插入因为那是自动增量值。 我只是评论,并在我上面的代码中显示。 错误信息: Exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds […]

Spring + JPA:不从数据库中获取对象

我正在实施一个在线商店。 我有以下代码来保存订单: @Service @Transactional public class OrderServiceImpl extends GenericServiceImpl implements OrderService { @Inject private ItemRepository itemRepository; @Override public void saveOrder(Order order) { this.updateItemsAccordingToOrderedQuantities(order); repository.save(order); } private void updateItemsAccordingToOrderedQuantities(Order order) { List orderedItems = order.getOrderedItems(); for (OrderedItem orderedItem : orderedItems) { // fetch from database Item item = itemRepository.findOne(orderedItem.getItem().getId()); item.reduceWeightInColdStoreBy(orderedItem.getWeight()); itemRepository.update(item); } } } 在实际保存订单之前,我更新了每个商品的“重量”属性(一些数量与此订单一起销售,因此剩下的更少)。 OrderedItem对象保存对Item的引用,但我想从数据库中获取新的Item […]

将Java Object存储为MySQL中的BLOB:奇怪的错误

有一点问题我希望有人可以开导我。 尝试序列化我自己创建的Java对象,该对象由其他Java对象组成(同样是我自己创建的)。 当jdbc尝试运行将Object存储为blob的PreparedStatement时,它运行正常,直到我收到此错误。 我运行MySQL作为数据库并检查我试图存储在blob字段中的所有对象都被定义为“implements Serializable”。 我试图在MySQL和MedBlob中尝试正常的BLOB数据类型。 我通过Xampp运行MySQL客户端版本:5.1.41。 代码如下: LinkedList tt = t; //Ignore these two variables String tName = “”; int modelCode = 0; for (int i = 0; i< tt.size();i++){ tName = t.get(i).getTableName(); modelCode = session.getCurrentModel(); try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(t.get(i)); byte[] tableAsBytes = baos.toByteArray(); fyProject.connectionController […]

Hibernate中对所有表的所有查询的通用条件限制

我已经在hibernate中为我的项目编写了很多查询。 现在我的要求已经改变,我在MySql中的所有表中都添加了一个新的列名ACTIVE。 我无权拒绝添加ACTIVE列。 ACTIVE字段可以保存值true或false,我也必须将其添加到条件中。 所以,我一直在想是否有一种方法可以在Hibernate中添加一个标准限制,这对我所做的所有查询都是通用的,而不是为我所做的每个查询都设置标准? 编辑:我想有点误会,对不起,我在打字时很着急。 某些其他用户已将ACTIVE列设置为true或false。 我需要的是一个全局过滤,仅针对我发出的每个查询的ACTIVE列为true的记录。 像这样的东西,但我希望hibernate为我发出的每个查询添加ACTIVE =’true’filter, select name from table where and ACTIVE=’true’ 希望有意义。 感谢致敬, Sunayan Saikia

从数据库加载后,Java Date toString以不同的格式

如何在Java持久化之前和之后以可靠的方式比较日期? 我面临的问题是:当我创建java.util.Date的新实例时,它的toString()方法返回一个值,包括星期几和时区: Fri Feb 03 10:15:31 CET 2017 当我在数据库表中保留此日期(EDIT:Date对象)并将其加载回实体时,toString方法返回不同的格式,具体取决于数据库类型: In case of MySQL date: 2017-02-03 In case of MySQL datetime: 2017-02-03 10:24:34.0 我并不总是有权访问格式化程序,因为toString方法可能会被我的应用程序中的另一个toString方法隐式调用。 这些问题对我而言: 使用toString时,Date对象如何知道要选择哪种格式? 如何控制新的Date对象,它应该首先代表一个日期(即没有时间分数的一天)? 在对象从数据库加载之前和之后的unit testing中比较持久对象的日期的最佳做法是什么?

连接丢弃的Java应用程序处理

我的应用程序似乎一夜之间挂起,因为连接被丢弃(我认为这是问题。)我如何构建我的应用程序,以便它可以尝试卷起一个新的连接? 自从事件发生后我更新了我的应用程序使用的getConnection()方法: private Connection getConnection() { boolean failed = false; try{ failed = !connection.isValid(1000); }catch(SQLException ex){ System.out.println(“WARNING: Connection not valid!”); } try{ failed = connection.isClosed(); }catch(SQLException ex){ System.out.println(“WARNING: Connection is closed!”); } if(failed){ System.out.println(“Renewing connection”); this.initializeConnection(); } return connection; } 这是输出: ** BEGIN NESTED EXCEPTION ** com.mysql.jdbc.exceptions.jdbc4.CommunicationsException MESSAGE: The last packet successfully received from the […]

带有Statement.RETURN_GENERATED_KEYS的MySQL批处理stmt

我试图批量执行2个SQL语句。 第一个语句是一个插件,它为其ID使用自动生成的值。 第二个语句是对另一个表的插入,但它需要使用上面的自动生成值作为插入值的一部分 类似的东西(其中id只是为了显示自动生成的字段,它没有在sql中定义) stmt.addbatch(insert into table1(“id_auto_generated”, “foo”)); stmt.addbatch(insert into table2(“table1_id”, “boo”)); 我现在这样做的方法是在我的第二个sql中使用它 insert into table2(LAST_INSERT_ID(), “boo”); 问题是即使在批处理语句中它也很慢,因为我的批处理可以是50,000个插入。 我想切换到预准备语句,但不知道如何将Statement.RETURN_GENERATED_KEYS或LAST_INSERT_ID()与预准备语句一起使用。

删除sql不删除

我正试图从我的表中删除一个事件。 但是我似乎无法让它发挥作用。 我的SQL语句是: public void deleteEvent(String eventName){ String query = “DELETE FROM `Event` WHERE `eventName` ='”+eventName+”‘ LIMIT 1”; db.update(query); System.out.println (query); } 使用MySQL db

从Servlet连接MySQL无法正常工作

我正在制作一个小应用程序,所以我可以将我的笔记从我的课程发布到服务器。 我在数据库端使用JDBC和MySQL,在应用程序端使用JSP / Servlet。 我编写了一个独立的java应用程序,它与我的servlet代码非常相似,并且工作正常; 我的servlet代码运行不正常。 属性定义: static final String DB_URL = “jdbc:mysql://localhost/DATASET”; static final String USER = “user”; static final String PASS = “pass”; Connection con = null; Statement s = null; doPost方法: final String STATEMENT = “INSERT INTO FILE(upload_time, filename, class, data) VALUES(CURTIME(), ‘” + request.getParameter(“file”) + “‘, ‘” + request.getParameter(“cls”) + “‘, […]

通过Google DataFlow Transformer查询关系数据库

我想在我的Dataflow Pipeline上实现ParDo Transformer,它基本上根据要处理的每个元素提供的数据查询关系数据库。 我知道用户定义的变换器中的每个属性都必须是可序列化的,但是要使用jdbc查询数据到数据库,我需要创建一个自然不可序列化的对象。 仍然可以在Dataflow Pipeline上下文中执行此操作吗?