介绍 2。更新
3。删除
4。事务
5。Sql查询
今天就跟大家聊聊有关如何在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