基于 Java 的高效 ORM 框架 Quick-ORM(java orm框架有哪些)
quick-orm
快速開發(fā)框架 Quick 之?dāng)?shù)據(jù)庫操作模塊,能夠提高數(shù)據(jù)庫操作層70%效率,支持簡單高效的數(shù)據(jù)庫操作,脫離繁瑣的XML配置,30秒快速上手,幫助開發(fā)者專注于業(yè)務(wù)。支持完全面向?qū)ο蟛僮?、異步?zhí)行 SQL、SQL 執(zhí)行耗時監(jiān)控、自動建表、分表操作、讀寫分離、Spring 事務(wù)管理等功能。
簡單示例:
//保存用戶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中直接設(shè)定//按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();
使用
導(dǎo)入quick-orm的maven依賴:
<dependency> <groupId>kim.zkp</groupId> <artifactId>quick-orm</artifactId> <version>1.0.4</version></dependency>
導(dǎo)入數(shù)據(jù)庫的maven依賴,如mysql:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version></dependency>
在源目錄下添加jdbc.setting配置文件,內(nèi)容如下:
jdbc.driverClassName=com.mysql.jdbc.Driver#改為您的數(shù)據(jù)庫地址jdbc.url=jdbc:mysql://localhost:3306/quickdemo?jdbc.useUnicode=true&characterEncoding=UTF-8#改為您用戶名密碼jdbc.username=rootjdbc.password=root123#自動建表使用,此處需改為您Model所在的包路徑j(luò)dbc.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 { //以下所有邏輯判斷,排序規(guī)則,獲取參數(shù)等信息均可直接在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); }}