通过record(map)的方式操作表数据,似orm非orm,半对像操作。
本类库基于jfialV1.9改造,写一些简单的功能的时候特别适合使用,比如要转结数据,比如初始数据,相比orm不需要搞一堆对像,相比存sql不需要搞一些isertupdate。
通过sql语句查询某几个表的数据返回record,直接将该对像(不是写sql)保存或者更新到一个新表中。这种方式特别省事
apachedbutils对数据库的支持已足够好,但还是略显烦杂,当然也可以基于dbutils实现 jfial的操作方式
相比SprigjdbcTemplate 那肯定是少了N多依赖
相比 jdbc操作那肯定方便很多
使用添加依赖
<depedecy><groupId>com.liucf</groupId><artifactId>db.record</artifactId><versio>0.0.4</versio></depedecy>示例1.初始化Db
//初始化数据连接Db.iit("jdbc:mysql://host:port/test?characterEcodig=utf-8&autoRecoect=true&autoRecoectForPools=true&serverTimezoe=GMT%2B8","root","xxx");//打印sql日志Db.use().setShowSql(true);2.查询数据
//简单查询List<Record>baskets=Db.fid("select*frombase_basket");for(Recordrecord:baskets){System.out.pritl(record.getStr("id"));System.out.pritl(record.toJso());}//根据id查询Recordrecord=Db.fidById("base_basket","001")//查询首条数据Db.fidFirst("select*frombase_basketwhereid=?","001")//分页查询cout参数决定是否统计总行数Page<Record>p=Db.pagiate(1,2,"select*frombase_basketwhereid>?",false,"1000");p.getList();p.getPageNumber();p.getPageSize();p.getTotalPage();p.getTotalRow();3.新增
Recordr=ewRecord();r.set("id","ddddd");Db.save("base_basket",r);4.更新
Recordr=ewRecord();r.set("id","ddddd");Db.update("base_basket",r);//主键名称非id//Db.update("base_basket","id",r);4.删除
Db.deleteById("base_basket","001");//Db.update("deletefrombase_basket");5.事务
Db.tx(ewTrasactioWrap(){@Overridepublicboolearu()throwsSQLExceptio{try{Recordr=ewRecord();r.set("id","ddddd");Db.save("base_basket",r);r.set("id","ddddd");r.set("remarks","remarks");Db.update("base_basket","id",r);}catch(Exceptioe){returfalse;}returtrue;}});6.多数据源
Db.iit("jdbc:mysql://host:port/test?characterEcodig=utf-8&autoRecoect=true&autoRecoectForPools=true&serverTimezoe=GMT%2B8","root","xxx");Db.iitAlias("toDb","jdbc:mysql://xxx:3306/test?characterEcodig=utf-8&autoRecoect=true&autoRecoectForPools=true&serverTimezoe=GMT%2B8","user","password")//使用Db.use切换数据源Db.use().fid();//默认数据源Db.use("toDb").fid();//指定数据源






评论