基于 Java 的高效 ORM 框架 Quick-ORM

Apache
Java
跨平台
2018-05-24
飞扬丶

quick-orm

快速开发框架 Quick 之数据库操作模块,能够提高数据库操作层70%效率,支持简单高效的数据库操作,脱离繁琐的XML配置,30秒快速上手,帮助开发者专注于业务。支持完全面向对象操作、异步执行 SQL、SQL 执行耗时监控、自动建表、分表操作、读写分离、Spring 事务管理等功能。

简单示例:

//保存用户
User u = new User();
u.setId("1");
u.setUserName("张三");
u.save();

//删除用户一
User u = new User();
u.setId("1");
u.delete();

//删除用户二
u.delete("id", "1");

//以下操作均可在Model中直接设定
//按id升序分页查询用户的用户名 
User u = new User();
u.select("userName").orderByAsc("id").page(1, 10);
//查询所有年龄大于18,且姓张的用户
User u = new User();
u.gt("age", 18).like("userName", "张%").list();

使用

 导入quick-orm的maven依赖:

<dependency>
    <groupId>kim.zkp</groupId>
    <artifactId>quick-orm</artifactId>
    <version>1.0.4</version>
</dependency>

导入数据库的maven依赖,如mysql:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>

在源目录下添加jdbc.setting配置文件,内容如下:

jdbc.driverClassName=com.mysql.jdbc.Driver
#改为您的数据库地址
jdbc.url=jdbc:mysql://localhost:3306/quickdemo?jdbc.useUnicode=true&characterEncoding=UTF-8
#改为您用户名密码
jdbc.username=root
jdbc.password=root123
#自动建表使用,此处需改为您Model所在的包路径
jdbc.packagePath=com.test.model

新建User.java类,代码如下:

import kim.zkp.quick.orm.annotation.PrimaryKey;
import kim.zkp.quick.orm.annotation.Table;
import kim.zkp.quick.orm.model.Model;
@Table(tableName = "T_USER",create=true) //自动建表配置,如不需要自动建表可去掉
public class User extends Model<User> {
	@PrimaryKey
	private String userName;
	private Integer age;
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
}

新建UserTest类,代码如下:

public class UserTest {
	public static void main(String[] args) throws Exception, SecurityException {
		
		//以下所有逻辑判断,排序规则,获取参数等信息均可直接在Model中指定,详情请参看http://quick.zkp.kim
		
		//保存用户
		User u = new User();
		u.setUserName("张三");
		u.setAge(18);
		u.save();
		
		//查询用户名等于张三的用户
		u = new User();
		u.setUserName("张三");
		u.get(); // 或者 u.get("userName","张三");
		
		//按年龄升序分页查询用户的用户名
		u = new User();
		u.select("userName").orderByAsc("age").page(1, 10);
		
		//查询所有年龄大于18,且姓张的用户
		u = new User();
		u.gt("age", 18).like("userName", "张%").list();
		//
		//删除用户一
		u = new User();
		u.setUserName("张三");
		u.delete(); //或者 u.delete("userName", "张三");
		
		System.exit(1);
	}
}

运行UserTest.java类,至此您已学会了Quick-ORM框架的使用,更多灵活简介的用法请参看文档。

文档地址:http://quick.zkp.kim/

联系我:2076528290@qq.com

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

From Apprentice To Artisan 翻译 01

Dependency Injection 依赖注入: The Problem 遇到的问题;Build A Contract 建立约定

2014/08/11 14:47
16.1K
10
KOHANA3.3 ORM中文详解

ORM === 校验: 1.ORM内部为强制校验 2.ORM外部校验 (保存,更新,插入时校验) 过滤: 校验不在包含过滤功能 参数及方法变更: 1.find不在带参数 2.save拆分为create跟update,并增加校验类参数,规...

2014/07/21 15:02
2.4K
0
Step by Step-构建自己的ORM系列-索引

为了方便大家查看相应的文章,特别整理一个所以,我会尽快的完善相应的系列,希望大家多多提出宝贵意见和建议,我会一如既往! 1、Step by Step-构建自己的ORM系列-开篇 2、Step by Step-构建...

2012/03/09 13:24
12
0
Step by Step-构建自己的ORM系列-索引

为了方便大家查看相应的文章,特别整理一个所以,我会尽快的完善相应的系列,希望大家多多提出宝贵意见和建议,我会一如既往! 1、Step by Step-构建自己的ORM系列-开篇 2、Step by Step-构建...

2011/03/16 10:09
237
1
go语言的beedb

go语言的数据库orm:beedb简介

2016/07/21 16:28
86
0
转-SQLAlchemy and You

written on Tuesday, July 19, 2011 from:http://lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/ Without doubt are most new Python web programmers these days chosing the Django frame...

2011/07/26 13:22
905
0
Step by Step-构建自己的ORM系列-开篇

一、开篇 首先、园子里面之前的很多同仁已经讨论过了ORM相关的框架及其优点和缺点。虽然我本篇讨论的有点晚,但是其毕竟优点大于缺点,本文只是简单的介绍我讨 论ORM的目的,及为什么要讨论这...

2011/03/16 10:09
243
0
ORM选型

本科教学中,SSH框架的学习,貌似是一种基本的套路,毕业设计,求职,都会使用到,哈哈哈,现在所说其中的H的问题。

2016/02/12 19:24
265
1
Step by Step-构建自己的ORM系列-配置管理层

一、开篇 距离上篇《Step by Step-构建自己的ORM系列-数据访问层》的时间间隔的太久了,很对不住大家啊,主要是因为在写《设计模式-系列索引系列》必须提前先写完,才能 继续这个系列,当然我...

2011/03/16 10:13
144
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部