A sqlite ORM library for kotlin, Android & Java.
Status : Active
Version : v1.3
Currently implemented:
- Insert
- Retrieve
- Update
- Delete
- Drop
In your build file add
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
And
dependencies {
compile 'ninja.sakib:PultusORM:v1.3'
}
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
And
<dependency>
<groupId>ninja.sakib</groupId>
<artifactId>PultusORM</artifactId>
<version>v1.3</version>
</dependency>
In case you need jar download is available here .
If you want to use this library in a java project please add kotlin runtime library too.
More option can be found here.
class Student {
@PrimaryKey
@AutoIncrement
var studentId: Int = 0
var name: String? = null
var department: String? = null
var cgpa: Double = 0.0
@Ignore
var section: String? = null
}
val pultusORM: PultusORM = PultusORM("test.db", "/Users/s4kib/")
val student: Student = Student()
student.name = "Sakib Sayem"
student.department = "CSE"
student.cgpa = 2.3
pultusORM.save(student)
pultusORM.close()
val students = pultusORM.find(Student())
for (it in students) {
val student = it as Student
println(student.studentId)
println(student.name)
println(student.department)
println(student.cgpa)
println()
}
1
Sakib Sayem
CSE
2.3
val condition: PultusORMCondition = PultusORMCondition.Builder()
.eq("name", "sakib")
.and()
.greaterEq("cgpa", 18)
.or()
.startsWith("name", "sami")
.sort("name", PultusORMQuery.Sort.DESCENDING)
.sort("department", PultusORMQuery.Sort.ASCENDING)
.build()
val students = pultusORM.find(Student(), condition)
for (it in students) {
val student = it as Student
println("${student.studentId}")
println("${student.name}")
}
// values will be updated based on this condition
val condition: PultusORMCondition = PultusORMCondition.Builder()
.eq("name", "Sakib")
.build()
val updater: PultusORMUpdater = PultusORMUpdater.Builder()
.set("name", "Sayan Nur")
.condition(condition) // condition is optional
.build()
pultusORM.update(Student(), updater)
pultusORM.delete(Student())
pultusORM.drop(Student())
Check out more examples & API docs here
Tables will be created on fly if not exists using class name
and columns based on
class fields.
Currently supported types:
- String
- Int
- Long
- Float
- Double
- Boolean
Autoincrement annotated fields values will be skipped as that will be handled by sqlite.
Copyright © Sakib Sami
Distributed under MIT license
You may want to know about Pultus. Well that's my GF's name I love to call ;)