初识ebean

初识Ebean

Ebean简介(简单介绍)

Ebean是一个使用纯Java实现的对象/关系映射的开源ORM框架。使用条件:已安装Java 8或更高版本。
宗旨:Ebean力求让使用最简单的API帮助开发者从数据库获取有用的数据信息。
官网 https://ebean.io/

Ebean的使用

1· 使用Maven/Gradle 我接触Maven比较多,所以示例使用maven
2· 需要安装idea插件https://ebean.io/docs/getting-started/intellij-idea
文档介绍的很清楚了,在此不过多的描述
效果:如图所示
3· pom包

 <dependency> 
   <groupId> io.ebean </ groupId> 
   <artifactId> ebean </ artifactId> 
   <version> 12.5.2 </ version> 
 </dependency>
<!-- Query bean support -->
 <dependency>
   <groupId>io.ebean</groupId>
   <artifactId>ebean-querybean</artifactId>
   <version>12.5.2</version>
 </dependency>
<!-- APT Query bean generation for Java -->
 <dependency>
   <groupId>io.ebean</groupId>
   <artifactId>querybean-generator</artifactId>
   <version>12.5.2</version>
   <scope>provided</scope>
 </dependency>
<!-- includes docker test database container support  -->
 <dependency>
   <groupId>io.ebean</groupId>
   <artifactId>ebean-test</artifactId>
   <version>12.5.2</version>
   <scope>test</scope>
</dependency>

4· 插件

<plugin>
   <groupId>io.repaint.maven</groupId>
   <artifactId>tiles-maven-plugin</artifactId>
   <version>2.17</version>
   <extensions>true</extensions>
   <configuration>
     <tiles>
        <!-- other tiles ... -->
        <tile>io.ebean.tile:enhancement:12.5.2</tile>
     </tiles>
   </configuration>
</plugin>

配置文件 ebean.properties

ebean.search.packages= com.student.entity   // 实体类的包,必须要配置,不然会报错找不到
# the name of the default server
datasource.default=db
datasource.db.username=
datasource.db.password=
datasource.db.databaseUrl=
datasource.db.databaseDriver=com.mysql.jdbc.Driver
#ebean.ddl.generate=true      // 开启生成数据表
#ebean.ddl.run=true           // 运行(以上这两个必须同时开启,不然不起作用)
ebean.debug.lazyload=false
ebean.debug.sql=true
ebean.ddl.sql=true
ebean.logging=all
ebean.logging.directory=logs
ebean.logging.iud=sql
ebean.logging.logfilesharing=all
ebean.logging.query=sql
ebean.logging.sqlquery=sql
ebean.logging.txnCommit=none

(注)还需要增加一个ebean.mf文件,具体什么用我现在还没有研究,不增加会报错,增加了没有内容也不影响使用

增加user实体类

 @Entity
 @Table(name = "user")
 @Data    // lombok的注解,不需要写get和set
 public class User extends Model implements Serializable {
 @Id
 @GeneratedValue
 @Column(name = "user_id")
 private Integer userId;
 private String username;
 private String password;
 private String phone;

这里为什么要继承Model呢?Model是ebean的一个包,继承以后可以直接使用bean对象.save()方法来保存

注:如果修改了实体类,必须要重新编译,否则提交到服务器的时候出现ClassNotFound错误

查询

查询单个对象
public User findByUserName(String username) {
    Query<User> user = DB.find(User.class);
    User users = user.where().eq("username" ,username).findOne();
    return users;
}
查询list,条件(多条件),模糊搜索,排序,分页
public  List<User> findList(Integer pageNo, Integer pageSize, String username) {
    Query<User> user = DB.find(User.class);
    user.where().eq("userStatus","0");
    if(username != null && !username.equals("") ){
        user.where().like("username" , "%"+username+"%");
    }
	user.orderBy("userId desc");
    user.setFirstRow((pageNo-1)*pageSize);
    user.setMaxRows(pageSize);
    List<User> users  =  user.findList();
    return  users;
}

新增

必须实体类继承Model才可以直接写(不局限于dao层,在controller/serviceImpl中都可以)

User user = new User();
user.setPassword("1111");
user.setUsername("演示");
user.save();

否则就得在dao层

DB.save(user);

修改

User user = findByUserName(username);
user.setPassword("1111");
user.setUsername("演示");
user.save();

save方法:如果存在则修改,不存在则新增,,所以为了简单,我都使用save

删除

返回是boolean类型,由此可以判断删除是否成功

public Boolean deleteById(Long userId) {
    int row = DB.delete(User.class,userId);
    if(row >0){
        return true;
    }
    return false;
}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值