基于 Java 的高效 ORM 框架 Quick-ORM(java orm框架有哪些)
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=rootjdbc.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); }}