https://github.com/piotr-kalanski/class2sql
SQL insert statements generator based on Scala case class.
https://github.com/piotr-kalanski/class2sql
scala sql
Last synced: 8 months ago
JSON representation
SQL insert statements generator based on Scala case class.
- Host: GitHub
- URL: https://github.com/piotr-kalanski/class2sql
- Owner: piotr-kalanski
- License: apache-2.0
- Created: 2017-06-16T15:22:53.000Z (about 9 years ago)
- Default Branch: development
- Last Pushed: 2017-12-05T09:34:17.000Z (over 8 years ago)
- Last Synced: 2025-02-13T13:50:25.258Z (over 1 year ago)
- Topics: scala, sql
- Language: Scala
- Size: 19.5 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# class2sql
SQL insert and select statements generator based on Scala case class.
[](https://api.travis-ci.org/piotr-kalanski/class2sql.png?branch=development)
[](http://codecov.io/github/piotr-kalanski/class2sql/coverage.svg?branch=development)
[
](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22class2sql_2.11%22)
[](https://waffle.io/piotr-kalanski/class2sql)
[](http://www.apache.org/licenses/LICENSE-2.0.txt)
# Table of contents
- [Goals](#goals)
- [Getting started](#getting-started)
- [Examples](#examples)
# Goals
- Provide simple tool for generating SQL inserts based on Scala case classes
- Provide easy API to query JDBC table and map result to Scala case class
# Getting started
## Include dependencies
```scala
"com.github.piotr-kalanski" % "class2sql_2.11" % "0.1.0"
```
or
```xml
com.github.piotr-kalanski
class2sql_2.11
0.1.0
```
# Examples
## Generate inserts
```scala
import com.datawizards.class2jdbc._
case class Person(name: String, age: Int)
val data = Seq(Person("p1", 1), Person("p2", 2))
generateInserts(data)
```
```sql
INSERT INTO Person(name,age) VALUES('p1',1)
INSERT INTO Person(name,age) VALUES('p2',2)
```
## Select from table
```scala
import com.datawizards.jdbc2class._
case class Person(name: String, age: Int)
val connectionString = "jdbc:h2:mem:test"
val connection = DriverManager.getConnection(connectionString, "", "")
selectTable[Person](connection, "people")
```