db.record 介绍
通过 record(map)的方式操作表数据,似orm非orm,半对像操作。
本类库基于jfinal
V1.9改造,写一些简单的功能的时候特别适合使用,比如要转结数据,比如初始数据,相比orm不需要搞一堆对像,相比存sql不需要搞一些insert
update。
通过sql语句查询某几个表的数据返回 record,直接将该对像(不是写sql)保存或者更新到一个新表中。这种方式特别省事
apache dbutils对数据库的支持已足够好,但还是略显烦杂,当然也可以基于dbutils实现 jfinal的操作方式
相比 Spring jdbcTemplate 那肯定是少了N多依赖
相比 jdbc操作那肯定方便很多
使用
添加依赖
<dependency> <groupId>com.liucf</groupId> <artifactId>db.record</artifactId> <version>0.0.4</version> </dependency>
示例
1.初始化Db
//初始化数据连接 Db.init(jdbc:MysqL://host:port/test?characterEncoding=utf-8&autoReconnect=true&autoReconnectForPools=true&serverTimezone=GMT%2B8,root, xxx); //打印sql日志 Db.use().setShowsql(true);
2.查询数据
//简单查询 List<Record> baskets = Db.find(select * from base_basket); for (Record record : baskets) { System.out.println(record.getStr(id)); System.out.println(record.toJson()); } //根据id查询 Record record = Db.findById(base_basket, 001) //查询首条数据 Db.findFirst(select * from base_basket where id = ?, 001) //分页查询 count参数决定是否统计总行数 Page<Record> p = Db.paginate(1, 2, select * from base_basket where id>?, false, 1000); p.getList(); p.getPageNumber(); p.getPageSize(); p.getTotalPage(); p.getTotalRow();
3.新增
Record r = new Record(); r.set(id, ddddd); Db.save(base_basket, r);
4.更新
Record r = new Record(); r.set(id, ddddd); Db.update(base_basket, r); //主键名称非id //Db.update(base_basket, id, r);
4.删除
Db.deleteById(base_basket, 001); //Db.update(delete from base_basket);
5.事务
Db.tx(new TransactionWrap() { @Override public boolean run() throws sqlException { try { Record r = new Record(); r.set(id, ddddd); Db.save(base_basket, r); r.set(id, ddddd); r.set(remarks, remarks); Db.update(base_basket, id, r); } catch (Exception e) { return false; } return true; } });
6.多数据源
Db.init(jdbc:MysqL://host:port/test?characterEncoding=utf-8&autoReconnect=true&autoReconnectForPools=true&serverTimezone=GMT%2B8,root, xxx); Db.initAlias(toDb,jdbc:MysqL://xxx:3306/test?characterEncoding=utf-8&autoReconnect=true&autoReconnectForPools=true&serverTimezone=GMT%2B8,user,password) //使用 Db.use 切换数据源 Db.use().find();//默认数据源 Db.use(toDb).find();//指定数据源
db.record 官网
https://github.com/deeplyloving/db.record
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。