QuickDAO 4.0 发布,Java ORM 框架

栏目: 软件资讯 · 发布时间: 3年前

内容简介:QuickDAO4.0版本正式发布。相比于3.0版本,架构上重新设计,代码结构更清晰,对外接口变化不大。如果您是3.0版本的用户,可以在QuickDAO3.0的仓库首页上看到迁移教程。 QuickDAO4 QuickDAO是一个简单易用方便的J...

QuickDAO4.0版本正式发布。相比于3.0版本,架构上重新设计,代码结构更清晰,对外接口变化不大。如果您是3.0版本的用户,可以在QuickDAO3.0的仓库首页上看到迁移教程。

QuickDAO4

QuickDAO是一个简单易用方便的Java ORM框架.具有以下优势:

  • 只需要注入一个DAO即可完成初始化操作
  • 自动建表,自动新增数据库字段
  • API层面支持外键关联查询,支持复杂的外键关联查询
  • 内置数据库方言支持
  • 实体类注解,支持自定义字段名称,类型,是否建立索引,建立外键关联

支持数据库

  • MySQL(5.0以上)
  • SQLite
  • H2
  • Postgre(9.0.0以上)
  • SQL Server(2012版本以上)

快速入门

1 导入QuickDAO

QuickDAO基于JDBC,为提高效率,默认只支持数据库连接池.

  • 导入commons-dbcp(或者其他的DataSource实现)
  • 导入QuickDAO最新版本
<dependency>  
<groupId>commons-dbcp</groupId>  
<artifactId>commons-dbcp</artifactId>  
<version>1.4</version>  
</dependency>  
<dependency>  
<groupId>cn.schoolwow</groupId>  
<artifactId>QuickDAO</artifactId>  
<version>4.0</version>  
</dependency>  

2 配置QuickDAO

BasicDataSource mysqlDataSource = new BasicDataSource();  
mysqlDataSource.setDriverClassName("com.mysql.jdbc.Driver");  
mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/quickdao");  
mysqlDataSource.setUsername("root");  
mysqlDataSource.setPassword("123456");  
//指定实体所在包名  
cn.schoolwow.quickdao.dao.DAO dao = QuickDAO.newInstance()  
.dataSource(mysqlDataSource)  
.packageName("cn.schoolwow.quickdao.entity")  
.build();  
//之后所有的操作使用dao对象完成  

3使用QuickDAO

  • 根据id查询

User user = dao.fetch(User.class,1);

  • 根据单个属性查询

User user = dao.fetch(User.class,"username","quickdao");

  • 插入对象

dao.insert(user);

  • 更新对象

dao.update(user);

  • 保存对象(存在则更新,不存在则插入)

dao.save(user);

  • 根据id删除

dao.delete(User.class,1);

  • 根据属性值删除

dao.delete(User.class,"username","quickdao");

  • 复杂查询
List<User> userList = dao.query(User.class)  
.addQuery("name","quickdao")  
.addNotNullQuery("password")  
.page(1,10)  
.orderBy("id")  
.execute()  
.getList();  
  • 外键关联查询
List<User> userList = dao.query(User.class)  
.joinTable(Address.class,"addressId","id")  
.addQuery("name","BeiJing")  
.done()  
.addQuery("name","quickdao")  
.page(1,10)  
.orderBy("id")  
.compositField()  
.execute()  
.getList();  

详细文档

点此访问


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从入门到精通:Prezi完全解读

从入门到精通:Prezi完全解读

计育韬、朱睿楷、谢礼浩 / 电子工业出版社 / 2015-9 / 79.00元

Prezi是一款非线性逻辑演示软件,它区别于PowerPoint的线性思维逻辑;而是将整个演示内容铺呈于一张画布上,然后通过视角的转换定位到需要演示的位置,并且它的画布可以随时zoom in和zoom out,给演示者提供了一个更好的展示空间。 Prezi对于职场人士和在校学生是一个很好的发挥创意的工具,因为它的演示逻辑是非线性的,所以用它做出来的演示文稿可以如思维导图一样具有发散性,也可以......一起来看看 《从入门到精通:Prezi完全解读》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具