在開發過程當中使用到了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");
}
}
});此問題邊能夠解決...............................................................................................................................................................................................................................................................................................我叫陳特西!!! 樂於分享與交流~