1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/livehl-zxorm

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

zxorm

Авторское соглашение: Apache

2015.9.1 Обновление до версии 2.0 Улучшен поиск, значительно сокращены SQL-запросы Добавлены методы работы с транзакциями Добавлены дополнительные вспомогательные методы

Инициализация соединения с базой данных

DBEntity.setDataSource("com.mysql.jdbc.Driver", "root", "", "jdbc:mysql://127.0.0.1:3306/db")

или

val ds = new BasicDataSource()
ds.setDriverClassName(clazz)
ds.setUsername(userName)
ds.setPassword(pwd)
ds.setUrl(url)

DBEntity.setDataSource(ds)

Связанные классы

Принцип наследования и передачи имени таблицы

class User(val id: Int = -1, val username: String = "", val age: Int = -1) extends BaseDBEntity[User]("User")

Использование

Обработка таблиц

  • Создание
new User().createTable
  • Очистка
new User().cleanTable
  • Удаление
new User().deleteTable

Поиск

val user = new User().query("username=?", "livehl")
val (allCount, users) = new User().queryPage("", 1, 10, "")
new User().queryAll()
new User().queryByIds(List(1, 2, 3))

Добавление

new User(0, "tom", 12).insert // id=1, name=tom, age=12
new User(0, "tomcat", 18).insert("name") // id=2, name=tomcat, age=null
new User(2, "tomcat", 28).insertUpdate("age") // id=2, name=tomcat, age=28
new User(10, "tom", 12).insertWithId // id=10, name=tom, age=12

Редактирование

new User(2, "dog", 22).update("id", "name") // id=2, name=dog, age=18
new User(2, "tomcat", 30).update("id") // id=2, name=tomcat, age=30
new User(2, "tomcat", 30).updateNoEmptyById // id=2, name=tomcat, age=30

Удаление

new User(2, "dog", 22).delete("id")
```**Транзакции**
```scala
DBEntity.transaction {
    val u1 = new User(0, "livehl", "子轩", "livehl@126.com").insert()
    val u2 = new User(0, "livehl1", "子轩1", "livehl@123.com").insert()
    // много действий, связанных с транзакциями
    // особое внимание: требования Alibaba DRDS для распределенной базы данных требуют выполнения всех операций транзакций на одной машине
    // ничего больше здесь не требуется, все действия внутри области метода являются частью транзакции, которая автоматически завершается после выполнения
} { ex =>
    // если произошла ошибка во время выполнения транзакции, она будет автоматически откатываться, здесь нет необходимости беспокоиться, только логика обработки ошибок
    println(ex.getMessage)
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Открытый Scala ORM-фреймворк. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/livehl-zxorm.git
git@api.gitlife.ru:oschina-mirror/livehl-zxorm.git
oschina-mirror
livehl-zxorm
livehl-zxorm
master