如何在Java项目中使用ORM

  介绍

今天就跟大家聊聊有关如何在Java项目中使用ORM,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、ORM示例

1。插入

public  CompletableFuture,插入(),{   var 才能;obj =, new  sys.entities.Demo (“MyName");,//构造参数为主键   obj.Age 才能=,100,,//设置实体属性的值   return 才能obj.saveAsync ();   }

2。更新

更新单个实体(必须具备主键)

public  CompletableFuture,更新(sys.entities.Demo  obj), {   时间=obj.Age 才能;200;   return 才能obj.saveAsync ();   }

根据条件更新(必须指定条件以防误操作)

public  CompletableFuture<?祝辞,更新(),{   var 才能;cmd =, new  SqlUpdateCommand ();   cmd.update才能(e →, e.City =,“Wuxi");,,//更新字段   cmd.update才能(e →, e.Age =, e.Age  +, 1),,//更新累加字段   cmd.where才能(e →, e.Name ==,“Johne");,//更新的条件   var 才能;outs =, cmd.output (e →, e.Age);,//更新的同时返回指定字段   return 才能cmd.execAsync () .thenApply (rows →, {   ,,,System.out.println(“更新记录数:,“,+,行);   ,,,System.out.println(“返回的值:,“,+,outs.get (0));   ,,,return “管理者”;;   ,,});   }

3。删除

删除单个实体(必须具备主键)

public  CompletableFuture,更新(sys.entities.Demo  obj), {   obj.markDeleted才能();,//先标记为删除状态   return 才能;obj.saveAsync(),,//再调用保存方法   }

根据条件删除(必须指定条件以防误操作)

public  CompletableFuture<?祝辞,删除(),{   var 才能;cmd =, new  SqlDeleteCommand ();   cmd.where才能(e →, e.Age  & lt;, 0, | |, e.Age 祝辞,200);   return 才能cmd.execAsync ();   }

4。事务

? ?由于作者讨厌隐式事务,所以事务命令必须显式指定。

public  CompletableFuture<?祝辞,事务(),{   var 才能;obj1 =, new  sys.entities.Demo (“Demo1");   obj1.Age 才能=,11;      var 才能;obj2 =, new  sys.entities.Demo (“Demo2");   时间=obj2.Age 才能;22;      return 才能DataStore.DemoDB.beginTransaction () .thenCompose (txn →,{,//开始事务   ,,,return  obj1.saveAsync(时候),,,,,,,,,//事务保存其中obj1   ,,,,,.thenCompose (r →, obj2.saveAsync(公司),//事务保存methoda   ,,,,,.thenCompose (r →, txn.commitAsync());,//递交事务   })才能.thenApply (→r “Done");   }

5。Sql查询

的条件

public  CompletableFuture<?祝辞,查询(String 键),{   var 才能;q =, new  SqlQuery ();   q.where才能(e →, e.Age 祝辞,10个,,,,e.Age  & lt;, 80);   if 才能;(key  !=, null)   ,,,q.andWhere (e →, e.Name.contains(关键),,//拼接条件   return 才能;q.toListAsync(),,//返回List   }

分页查询

public  CompletableFuture<?祝辞,查询(int 页大小,int  pageIndex), {   var 才能;q =, new  SqlQuery ();   return 才能q.skip (pageSize  *, pageIndex)   ,,,,(页大小)   ,,,.toListAsync ();   }

结果映射至匿名类

public  CompletableFuture<?祝辞,查询(),{   var 才能;q =, new  SqlQuery ();   return 才能q.toListAsync (e →, new 对象(),{,//返回List<匿名类祝辞   ,,,public  final  String  Name =, e.Name;,//匿名类属性,=,实体属性表达式   ,,,public  final  int , Age =, e.Age  +, 10;   ,,,public  final  String  Father =, e.Parent.Name;   })才能.thenApply (appbox.data.JsonResult::新);   }

结果映射至继承的匿名类

public  CompletableFuture<?祝辞,查询(),{   var 才能;q =, new  SqlQuery ();   q.where才能(e →, e.Parent.Name ==,“Rick");   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Java项目中使用ORM