|
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | | -This project uses GitHub Actions for continuous integration. See `.github/workflows/ci.yml` for details. |
6 | | - |
7 | | -A lightweight, fluent Java library for building SQL queries and filtering in-memory data — no runtime dependencies required. |
| 5 | +A lightweight, fluent Java library for building SQL queries and filtering in-memory data, no runtime dependencies required. |
8 | 6 |
|
9 | 7 | ## Features |
10 | 8 |
|
@@ -154,40 +152,6 @@ SQLite wraps every table and column name in double quotes, which safely handles |
154 | 152 | `LIKE` values are automatically wrapped with `%` on both sides so `whereLike("name", "alice")` becomes `name LIKE ?` with parameter `%alice%`. |
155 | 153 |
|
156 | 154 |
|
157 | | - |
158 | | -## Project Layout |
159 | | - |
160 | | -``` |
161 | | -src/main/java/com/skyblockexp/ezframework/query/ |
162 | | -├── QueryBuilder.java Fluent builder — start here |
163 | | -├── Query.java Query data model; delegates rendering to SqlDialect |
164 | | -├── SqlResult.java Holds the generated SQL string and parameter list |
165 | | -├── SqlDialect.java Strategy interface (STANDARD / SQLITE constants) |
166 | | -├── AbstractSqlDialect.java Shared rendering logic — extend to add new dialects |
167 | | -├── StandardSqlDialect.java Standard SQL (no quoting) |
168 | | -├── SqliteDialect.java SQLite (double-quote identifiers, boolean → 0/1) |
169 | | -├── Condition.java Single field condition (operator + value) |
170 | | -├── Operator.java Enum of supported operators |
171 | | -└── QueryableStorage.java Interface for in-memory query execution |
172 | | -``` |
173 | | - |
174 | 155 | ## License |
175 | 156 |
|
176 | | -MIT |
177 | | - |
178 | | -## Test Coverage |
179 | | - |
180 | | -This project uses [JaCoCo](https://www.jacoco.org/jacoco/) for test coverage analysis. |
181 | | - |
182 | | -### How to Generate Coverage Report |
183 | | - |
184 | | -1. Run all tests and generate the coverage report: |
185 | | - ```sh |
186 | | - mvn test jacoco:report |
187 | | - ``` |
188 | | -2. Open the HTML report: |
189 | | - - Open `target/site/jacoco/index.html` in your browser to view detailed coverage metrics. |
190 | | - |
191 | | -## Adding Tests |
192 | | -- Add JUnit tests under `src/test/java/com/github/ezframework/javaquerybuilder/query/` and its subpackages. |
193 | | -- Focus on covering all core features, edge cases, and error handling. |
| 157 | +MIT |
0 commit comments