休眠+ mysql +加载文件中的数据 [英] hibernate + mysql + load data in file

查看:153
本文介绍了休眠+ mysql +加载文件中的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我正在尝试使用hibernate将数据从文件加载到Mysql数据库。

Hi I am trying to load data from a file to Mysql DB using hibernate.

这里是查询,

here is the query,

session.createSQLQuery("LOAD DATA INFILE E:/uploaded/NumSerie/NS/NumSerie.txt INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;").executeUpdate();

但是我得到以下错误,

org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [LOAD DATA INFILE E:/uploaded/NumSerie/NS/NumSerie.txt INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '
' IGNORE 1 LINES;]
at org.hibernate.engine.query.ParameterParser.parse(ParameterParser.java:92)
at org.hibernate.engine.query.ParamLocationRecognizer.parseLocations(ParamLocationRecognizer.java:75)

如何重写此查询这是否正确执行?

How can I rewrite this query so this is executed properly?

预先感谢!

推荐答案

尝试创建参数化查询

我不是Hibernate专家,但是这可以工作: / p>



I'm no Hibernate guru but this could work:

session.createSQLQuery("LOAD DATA INFILE :file INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;")
    .setString("file", "E:/uploaded/NumSerie/NS/NumSerie.txt")
    .executeUpdate();

这篇关于休眠+ mysql +加载文件中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆