Ebean ORM功能介绍
一、简单介绍
Ebean是一个Java实现的开源ORM框架,具有快速访问、易使用等特点。
二、主要功能
- 原生SQL:可以方便的使用原生SQL,并以懒加载的方式返回全属性的bean
- 结果分页:使用findRowCount()或findPageList()很容易处理结果分页
- 支持大型查询:使用findIterate()分批处理大量数据,不必全部加在到内存
- 批量插入:通过设置JDBC batch size可以调整每个事务中的批量插入数
- DB加密:使用@Encrypt可以透明的实现DB加密
- JSON:内置JSON支持
- 自动查询优化:支持自动查询(autofetch),查询自动优化
- 无状态更新:填充一个bean,不必查询直接更新数据
- 批量更新/删除:可以使用批量更新/删除语句,大大提升效率
- 事件监听:Ebean从4.0.1开始支持JPA的EntityListener注解:
- PostLoad
- PostPersist
- PostRemove
- PostUpdate
- PrePersist
- PreRemove
- PreUpdate
- 阅读审计:ReadAudit功能是当数据被读取时记录日志(可用于审计)
- 二级缓存(可显著提升性能)
- 监控:监控性能,识别N+1和缓慢查询等问题
- ElasticSearch集成
三、第一个Ebean程序
1、创建项目EbeanDemo
2、引入jar,pom文件如下
3、配置ebean.properties(在这个demo中properties文件名必须是ebean.properties),内容如下<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>EbeanDemo</groupId> <artifactId>EbeanDemo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/io.ebean/ebean --> <dependency> <groupId>io.ebean</groupId> <artifactId>ebean</artifactId> <version>11.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>
4、编写TestDBConnection.java文件,代码如下:datasource.default=h2 datasource.h2.username=用户名 datasource.h2.password=密码 datasource.h2.databaseUrl=jdbc:mysql://127.0.0.1:3306/test datasource.h2.databaseDriver=com.mysql.jdbc.Driver
输出结果如下(cnt : 39):import io.ebean.Ebean; import org.junit.Test; public class TestDBConnection { @Test public void test() { System.out.println("cnt : " + Ebean .createSqlQuery("select count(0) as cnt from t_user").findOne() .getInteger("cnt")); } }