|
|
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
Привет всем! Я тут написал свой генератор sql запросов. Решил поделиться этим с сообществом. Сам проект https://github.com/tatagulov/eq Описание и небольшая документация на wiki https://github.com/tatagulov/eq/wiki Здесь вы можете задавать свои вопросы и пожелания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 11:47 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
У нас уже есть jOOQ и QueryDSL. Зачем нам ещё один DSL? Дизайн синтаксиса в таких DSL очень важная составляющая. Так как читать более менее сложные SQL запросы в виде Java кода очень тяжело. У jOOQ очень клевый синтаксис, но есть ограничения в лицензировании. Хотелось бы DSL на лямбдах. Тогда было бы что-то новое. Некоторые IDE умеют валидировать SQL запросы. Так что это не самая основная проблема, которая решается такими DSL. Их единственная польза это динамические запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 11:53 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
BlazkowiczХотелось бы DSL на лямбдах. Тогда было бы что-то новое.Нужно портировать Linq2Sql... и сделать что-то вроде StreamAPI2Sql (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:00 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhas, Глянул только PostgresSelect из описания Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:19 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Это про Linq Method Syntax, который можно сравнить с JPA Criteria. jOOQ замахивается на ORM (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:30 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
BlazkowiczУ нас уже есть jOOQ и QueryDSL. Зачем нам ещё один DSL? ... Я смотрел jOOQ, его возможностей мне было не достаточно поэтому я написал свой "велосипед". Для меня он лучше и удобнее, возможно кому то он тоже пригодиться. 0FDГлянул только PostgresSelect из описания ... Вам не нравится такой стиль написания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 06:34 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhasЯ смотрел jOOQ, его возможностей мне было не достаточно поэтому я написал свой "велосипед". Для меня он лучше и удобнее, возможно кому то он тоже пригодиться. Ну, если вы уж выставили свой байк на публику, то стоило бы указать чем именно он лучше и удобнее. Я вижу только то что API на много меньше и код на SQL вообще не похож. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 09:27 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhasВам не нравится такой стиль написания? Да нет, просто String.format показался ну совсем не к месту, там где должна пара простых if-ов, вставляете ненужный и сложный String.format(ну хотя distinct был бы как параметр, кстати, а конструкция values(distinct ...) возможна?) и при достаточно большом количестве SB много +. Если если используете 8-ю версию, то там есть java.util.StringJoiner, который много упрощает: Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 11:28 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
0FDolzhasВам не нравится такой стиль написания? Да нет, просто String.format показался ну совсем не к месту, там где должна пара простых if-ов, вставляете ненужный и сложный String.format(ну хотя distinct был бы как параметр, кстати, а конструкция values(distinct ...) возможна?) и при достаточно большом количестве SB много +. Если если используете 8-ю версию, то там есть java.util.StringJoiner, который много упрощает: Код: java 1. 2. 3. 4. 5. 6. конструкция Код: java 1. тоже странная ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 11:39 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я использую эту библиотеку в реальном проекте, API расширяю по мере необходимости. Но даже сейчас реализовано много. Да язык не поход на SQL, но это как раз его и отличие от других DSL. SQL это структура, и в этой структуре много зависимости м\у его частями. Например что бы использовать поле из таблицы, вы должны его объявить в секции from или сделать join с условием. Другой пример использования агрегированных функций и секции group by. Добавил count, будь добр укажи другие поля в секции group by. Из-за чего вам сложно строить динамические запросы, хоть на нативном SQL хоть на jOOQ или же QueryDSL. в моей библиотеке это делается просто. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 12:51 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhasв моей библиотеке это делается просто. ты не делал сложных запросов с подзапросами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 13:33 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну почему, вот боевой пример, более ранней версии. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 13:47 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhasНу почему, вот боевой пример, более ранней версии. ты ставь рядом исходный запрос. Типа так для дерева: Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 14:11 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
olzhasНу почему, вот боевой пример, более ранней версии. Какой ужас. Вы один на проекте? Коллеги пробовали такой код править? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 14:25 |
|
||
|
EasyQuery SQL генератор
|
|||
|---|---|---|---|
|
#18+
Petro123, Сам SQL зависит от параметров вот один из вариантов Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Поддержки Оракла пока нет, да и с postgres не все реализовано. Поэтому всегда найдется пример, который я вам не смогу реализовать. Blazkowicz, Конечно я понимаю что этот код для новичка будет как китайская грамота. Но не все так страшно как выглядит на первый раз, это дело привычки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 14:44 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=106&tid=2124453]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 428ms |

| 0 / 0 |
