Ebean ORM功能介绍

来源:互联网 发布:软件开发学校好吗 编辑:程序博客网 时间:2024/06/05 05:41

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文件如下

<?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>
3、配置ebean.properties(在这个demo中properties文件名必须是ebean.properties),内容如下

datasource.default=h2datasource.h2.username=用户名datasource.h2.password=密码datasource.h2.databaseUrl=jdbc:mysql://127.0.0.1:3306/testdatasource.h2.databaseDriver=com.mysql.jdbc.Driver
4、编写TestDBConnection.java文件,代码如下:

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"));    }}
输出结果如下(cnt : 39):