当前位置: 首页 > 软件库 > 数据库相关 > >

database-all

授权协议 MIT License
开发语言 Java
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 红明德
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

database

Eloquent ORM for Java

简介

  • 让连接数据库以及对数据库进行增删改查操作变得非常简单,不论希望使用原生 SQL、还是查询构建器,还是 Eloquent ORM。

  • Eloquent ORM 提供一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表数据结构对应的实体(Entity),以及的进行交互的模型(Model),通过模型类,你可以对数据表进行查询、插入、更新、删除等操作,并将结果反映到实体实例化的 java 对象中。

  • 对于关联关系 Eloquent ORM 提供了富有表现力的声明方式,与简洁的使用方法,并专注在内部进行查询与内存优化,在复杂的关系中有仍然有着良好的体验。

目录

  • 以如下的方式在程序中查询数据
// 查询id为4的一条数据
Student student = studentModel.find(4).toObject();

// 稍复杂嵌套的语句 select id,name from student where id=3 or(age>11 and id=7 and(id between 4 and 10 and age>11))
List<Student> Students = studentModel.newQuery().where("id", "3").orWhere(
    builder -> builder.where("age", ">", "11").where("id", "7").andWhere(
        builder2 -> builder2.whereBetween("id", "4", "10").where("age", ">", "11")
    )
).select("id", "name").get().toObjectList();

// 关联查询 找出学生们的老师们的父亲们的那些房子
List<Student> Students = studentModel.newQuery().whereIn("id", "1","2","3").get().with("teacher.father.house").toObjectList();

// 增加关联 给id为8的学生增加3名老师(id分别为1,2,3)
studentModel.findOrFail(8).bind("teachers").attach(teacherModel.findMany(1,2,3));

// 解除关联 id为8的学生不再有id为2的老师
studentModel.findOrFail(8).bind("teachers").detach(teacherModel.findOrFail(2));

// 同步关联 id为8的学生只有id为2和3的两名老师
studentModel.findOrFail(8).bind("teachers").sync(teacherModel.findMany(2,3));

// 切换关联 id为8的学生 如果原本是id为2老师的学生,则解除, 反之则新增
studentModel.findOrFail(8).bind("teachers").toggle(teacherModel.findMany(2));

spring boot 快速开始

1.引入仓库 pom.xml

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

2.引入依赖 pom.xml

<dependency>
    <groupId>com.github.gaarason.database-all</groupId>
    <artifactId>database-spring-boot-starter</artifactId>
    <version>RELEASE</version>
</dependency>

3.配置连接 application.properties

spring.datasource.druid.url=jdbc:mysql://mysql.local/test_master_0?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=true&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.druid.username=root
spring.datasource.druid.password=root
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.db-type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initialSize=1
spring.datasource.druid.minIdle=1
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000

4.快速开始

package gaarason.database.spring.boot.starter.test;

import gaarason.database.eloquent.GeneralModel;
import gaarason.database.eloquent.Record;
import lombok.extern.slf4j.Slf4j;
import org.junit.Assert;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
@FixMethodOrder(MethodSorters.JVM)
public class TestApplicationTests {

    @Resource
    GeneralModel generalModel;

    @Test
    public void 简单查询() {
        // select * from student where id=3 limit 1
        Record<GeneralModel.Table, Object> first = generalModel.newQuery().from("student").where("id", "3").first();
        
        Assert.assertNotNull(first);
        Map<String, Object> stringObjectMap = first.toMap();
        Assert.assertEquals((long) stringObjectMap.get("id"), 3);
        System.out.println(stringObjectMap);
    }

}
  • <pre name="code" class="sql">mysqldump -uroot -p'123456' -R --single-transaction --master-data=2 --all-database >a.sql CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET

  • MYSQLDUMP参数详解 mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。 如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。 有3种方式来调用mysqldump: shell> mysqldump [optio

  • 记得要在mysql数据库里执行命令 create database tjj default charset utf8; grant all on tjj.* to tianjiaji@localhost identified by "4acfb9baa8"; flush privileges;

  • 1 错误信息:  [oracle@dg1 ~]$ rman target sys/oracle@pdbcndba_p auxiliary sys/oracle@pdbcndba_s; Recovery Manager: Release 12.2.0.1.0 - Production on Thu May 25 17:51:56 2017 Copyright (c) 1982, 2017, Or

  • grant 创建了一个远程连接 root 权限账户, 准备再授权个对应数据库操作的账户时出现了 1044 错误。 [SQL]grant all privileges on xahy-blog.* to xahyRoot @"%" identified by "xahyRootJoC6Q" [Err] 1044 - Access denied for user 'root'@'%' to data

  • oracle12.1只能使用触发器 oracle12.2可用ALTER pluggable DATABASE ALL save state; 高版本建议优先使用第二种模式 触发器模式 CREATE TRIGGER open_all_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable databa

  • [oracle@oradoc ~]$ docker container ls -all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b47eff0980d hell

  • RMAN-05535: warning: All redo log files were not defined properly. Oracle error from auxiliary database: ORA-00344: unable to re-create online log '/u01/app/oracle/oradata/orclmo/onlinelog/group_7.367

  • Org.springframework.jdbc.datasource.init使用详解 org.springframework.jdbc.datasource.init支持在项目启动的时候对数据库的初始化操作。 一、使用方式:使用Spring XML进行初始化数据库(Initializing a database using Spring XML) a).首先需要为XML加上spring-jdb

  • ORA-01109: database not open oracle@ria1:~> cd $ORACLE_HOME/dbs oracle@ria1:~/product/10.2/db_1/dbs> ls cms_data.dbf initdw.ora inittmorcl.ora orapwtmorcl sqlnet.log hc_tmorcl.dat init.

  • 新源码编译的MYSQL 5.7.21数据库,并新建了一个%的root用户。 然后新建一个数据库exhibition,在对exhibition进行授权的时候提示1044 - Access denied for user 'root'@'%' to database 'exhibition'错误。 授权的命令如下: grant all on exhibition.* to 'exhibition'@'

  • 创建utf8编码 数据库 CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 如果要创建默认gbk字符集的数据库可以用下面的sql: create database yourdb DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

  • (1)进入mysql: mysql -uroot -p (2)输入指令: GRANT ALL ON . TO ‘root’@‘127.0.0.1’; 在navicate中新建数据库再也不会产生1044了

  • 本文主要向大家介绍了MySQL数据库之mysql5.7基础 切换到现有的一个数据库use database命令不用写分号 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。 Operating System:UbuntuKylin 16.04 LTS 64bit mysql: Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  

  • 使用create database语句创建数据库的步骤如下: 1.指定一个实例标识符SID 2.确保设置了必要的环境变量 3.选择一个数据库管理员验证方法 4.创建一个初始化参数文件 5.(只用于windows平台)创建一个实例 6.连接实例 7.创建一个服务器参数文件 8.启动实例 9.执行create database 10.创建额外的表空间 11.运行脚本来创建数据字典视图 12.(可选项)

 相关资料
  • Overview 为简单起见,SpringSide的示例都使用H2作为演示用演示。 而实际的项目里,通常会使用H2作为开发期的,与容器外运行的功能测试的数据库,而使用Oracle或MySQL作为实际的生产数据库。 自从MySQL被Oracle收购,PostgreSQL也正式的选择进入很多项目的视线。 数据库设计的一般性原则 主键的列名统一为id。 为方便数据操作及维护,不建立任何外键,用程序去保证

  • 修改 apps/configs/db.php ,加入配置。 $db['master'] = array( 'type' => Swoole\Database::TYPE_MYSQLi, 'host' => "127.0.0.1", 'port' => 3306, 'dbms' => 'mysql', 'engine' => 'MyI

  • Overview H2作为嵌入式数据库里性能最佳的选择,是开发期的最爱。 运行方式 嵌入式在内存中运行 在单元测试的嵌入式内存中运行,为求极致的速度,而且测试完后数据不会保留。 jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1 参数DB_CLOSE_DELAY是要求最后一个正在连接的连接断开后,不要关闭DB,因为下一个case可能还会有新连接进来。 注意在Springsi

  • 存储和检索EOS.IO区块链的数据API根据以下广泛结构来组织数据. 模块 Database C API 数据库的C语言接口. 详细描述 code - 具有写入权限的帐户名称. scope - 存储数据的帐户. table - 正在存储的表的名称. record - 表中的一排. 每个事务都指定可以读取和/或写入的一组有效范围。正在运行的代码决定了可以写入的内容;因此,写入操作不允许您指定/配置代

  • 本章的主题是重中之重!大多数应用都需要持久化存储数据,并高效地执行的增删查改的操作,数据库 为此而生。 我们将第一次引入第三方库 Gorm 来帮助我们实现 ORM 本章的GitHub链接为: Source, Diff, Zip 数据库及ORM选择 数据库被划分为两大类,遵循关系模型的一类是 关系数据库,另外的则是 非关系数据库,简称 NoSQL,表现在它们不支持流行的关系查询语言SQL。这里我们打

  • 数据库接口的Python标准是Python DB-API。 大多数Python数据库接口都遵循此标准。 您可以为您的应用程序选择正确的数据库。 Python Database API支持各种数据库服务器,例如 - GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 以下是可用