在开发过程当中使用到了MySQL 中的GROUP_CONCAT(CONCAT_WS())搭配方式, 至于怎么使用mysql中的concat函数、concat_ws()函数,以及group_concat()函数。能够参考一下连接↙mysql
http://www.javashuo.com/article/p-qcnfkkto-gp.htmlsql
开发过程当中,本身遇到由于使用GROUP_CONCAT(CONCAT_WS())而致使查询出的数据不全,有缺失。刚开始本身是一头雾水,觉得是写的代码有问题但本身仔细的有检查一下发现没问题。数据库
便把查询的语句在数据库里又查了一遍。这才发现是数据库语句有问题。经过在网上查找也找到了几个解决的方案,可是都不行。ide
本身右摸索了一点时间。函数
直接在MySQL的配置文件my.ini中的:spa
[mysqld].net
添加
group_concat_max_len=4294967295(能够随意的设置)blog
重启以后好像没有什么变化。开发
本身在数据库查询语句前先添加了字符串
SET SESSION group_concat_max_len = 71680;(其中还有能够 SET GLOBAL group_concat_max_len = 102400; 这个没有试,感兴趣的小伙伴能够试下)
在进行查询,问题完美搞定。
可是在代码中怎样设置成了难题。
不能直接在拼接的SQL语句中直接的进行拼接.是没法被识别的.
能够在后台代码,语句查询以前先进行添加以下代码:
getSession().doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
try (Statement statement = connection.createStatement()) {
statement.execute("SET SESSION group_concat_max_len = 71680");
}
}
});此问题边能够解决...............................................................................................................................................................................................................................................................................................我叫陳特西!!! 乐于分享与交流~