ORM 工具Bee 使用舉例
8.1 每個實體對應的dao接口
不需要。
8.2 插入和查詢數據庫表的舉例代碼
public static void main(String[] args) {
Suid suid=BeeFactory.getHoneyFactory().getSuid();
User user = new User();
user.setName("testName");
user.setEmail("[email protected]");
suid.insert(user); //insert
Orders orders=new Orders();
orders.setUserid("bee");
orders.setName("Bee-ORM framework");
orders.setTotal(new BigDecimal("91.99"));
orders.setRemark(""); //empty String test
suid.insert(orders); //insert
Orderitem orderitem=new Orderitem();
orderitem.setOrderid(100001L);
orderitem.setUserid("bee");
orderitem.setCategory("book");
orderitem.setPrice(new BigDecimal("30"));
suid.insert(orderitem);
List<Orders> list =suid.select(orders); //可任意組合條件查詢
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).toString());
}
}
8.3 打印的日誌
insert SQL:
insert into user(name,email) values (?,?) ; [values]: testName,[email protected]
insert SQL:
insert into orders(userid,name,total) values (?,?,?) ; [values]: bee,Bee-ORM framework,91.99
insert SQL:
insert into orderitem(userid,orderid,category,price) values (?,?,?,?) ; [values]: bee,100001,book,30
select SQL:
select id,userid,name,total,createtime,remark,sequence from orders where userid=? and name=? and total=?; [values]: bee,Bee-ORM framework,91.99
Orders[id=100014,userid=bee,name=Bee-ORM framework,total=91.99,createtime=2018-07-22 01:32:06.0,remark=null,sequence=null]
8.4 結論
- 3個實體,需要寫0個接口文件;n個實體還是需要寫0個。
- 不管是什麼實體類,都是採用同一個Suid接口操作數據庫。
- 使用Javabean中的字段,組合成查詢條件,不需要提前聲明,還是直接使用Suid接口的方法。
- 通過觀察日誌發現,默認過濾null和空字符串字段。像createtime是null,當DB表設置了默認是當前時間時,則會被保存爲當前時間。
- 編碼複雜度爲O(1)。