Leap如何对数据进行增删查改

╰半夏微凉° 2021-06-10 10:36 588阅读 0赞

新增数据

1.create
新增数据可以调用实体对象的 create 方法,即可将当前对象保存到数据库中。

  1. User user = new User();
  2. user.setId("1");
  3. user.setName("wunian");
  4. user.create();

2.save
还可以使用 save 方法,它会根据当前实体对象的 id 判断,如果id存在,则执行update,如果id不存在,则执行insert。

  1. User user = new User();
  2. user.setId(null);
  3. user.setName("wunian");
  4. user.save(); // 这里由于 id 是 null ,所以执行的是 insert 数据操作
  5. user.setName("wunian2");
  6. user.save(); // 这里由于结果 insert 操作 id 已经有值了,所以再执行 save 将会执行 update 数据操作

删除数据

1.delete
通过实体 id 删除数据,delete 方法在找不到指定 id 的记录可以删除的时候将会报错 RecordNotDeletedException 。在不需要知道执行结果只管执行删除语句的场景下可以将 delete 方法换成 tryDelete 方法,用法与上面一致。

  1. // 通过静态方法
  2. User.delete("1");
  3. // 通过实例方法
  4. User user = new User();
  5. user.setId("1");
  6. user.delete();

2.deleteAll
deleteAll 方法是一个比较危险的方法,在什么参数都不传的情况下,它会删除数据库表里所有记录,因此在常用的场景上我们一般会加上过滤条件。

  1. // 过滤删除方式1,参数使用变长数组
  2. User.deleteAll("id = ? or name = ?", "1", "wunian");
  3. // 过滤删除方式2,参数使用 Map
  4. Map<String, Object> params = new HashMap<>();
  5. params.put("name", "wunian");
  6. User.deleteAll("name = :name", params);

查询数据

1.find 与 findOrNull

  1. String id = "1";
  2. User user = User.find(id);

以上方法的参数 id 如果在数据库中没有对应的记录,此方法将抛错。如果不希望这种情况抛错,可以改为使用 findOrNull。下面的user 对象在找不到对应 id 的情况下,将为 null。

  1. String id = "1";
  2. User user = User.findOrNull(id);
  1. findBy
    对于简单的单条件查询,可以调用 findBy。

    User user = User.findBy(“name”, “wunian”);

3.all
如果需要列出数据库表中的所有记录,可以使用 all 方法。

  1. List<User> users = User.all();

更新数据

1.update
当我们获取或创建了实体对象之后,调用实体对象的update方法就能把对象所有持久化属性保存到该对象的id对应的数据中。

  1. user.update();

如果我们需要只更新这个 id 对应的数据的某些字段,我们可以调用静态方法 update。

  1. // 使用 Map 传递更新字段和值
  2. Map<String, Object> fields = new HashMap<>();
  3. fields.put("name", "wunian");
  4. User.update("1", fields);
  5. // 在只更新一个字段值的场景下,也可以省略 Map
  6. User.update("1", "name", "wunian");

2.updateAll
指定 id 的更新操作在实际中其实比较少,更多的是指定过滤条件的批量更新。

  1. Map<String, Object> fields = new HashMap<>();
  2. fields.put("name", "wunian");
  3. String where = "name = ?";
  4. User.update(fields, where, "wunian"); // 这里最后一个参数是可变参数

发表评论

表情:
评论列表 (有 0 条评论,588人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDBC进行增删

    JDBC进行增删改查 本篇博客较为基础,只作学习记录之用。 本篇分为: 下载JDBC的jar包 导入JDBC的jar包 封装数据库连接和关闭