jdao:用最简单,最简洁的方式操作java持久层

orm框架的好处在于将数据库操作映射为对象操作,这样降低了项目开发成本与维护成本,java的orm框架比较多,如Hibernate与mybatis等,都是很优秀的orm框架,但是随着框架使用复杂度的增加,其开发成本与维护成本也会随之增加。jdao是极简的orm框架,目的在于映射数据库与java对象,使操作对象就是操作表数据。

Jdao 是基于 Java 的持久层框架,无配置文件,支持零SQL操作持久层

  • 用最简单的方式操作数据库
  • 支持全对象方式读写数据;
  • 支持事务,缓存,批处理等操作;
  • 支持原生 sql 操作;
  • 支持注册多数据源,设置对象,类,包名对应不同数据源;
  • 支持自动生成数据表对应的 java Bean 对象;
  • jdao 使用非常简单方便,可用于快速构建持久层封装服务;
设置数据源:
设置数据源(一切操作从设置数据源开始)
这里使用druid 演示:
Properties p = new Properties()
p.load(new FileReader("druid.properties"));
DataSource ds = DruidDataSourceFactory.createDataSource(p);
DaoFactory.registDefaultDataSource(ds);
以上完成jdao 数据源的设置操作,该数据源默认适用全部持久层对象

jdao实际操作持久层的方式是与数据表对应的bean文件:

如:Hstest.java

public class Hstest extends Table<Hstest> {
	public LONG id;
	public STRING name;
	public SHORT age;
	public DATE createtime;
}

插入数据

Hstest h = new Hstest();
h.age.setValue((short) 22);
h.name.setValue("tom");
h.createtime.setValue(new Date());
h.insert();
这样完成插入数据的操作

查询数据

Hstest h = new Hstest();
h.where(h.id.GE(1),h.name.LIKE("tom"));
List<Hstest2> list = h.select(h.id,h.name);
for (Hstest ht : list) {
    System.out.println(ht.id.getValue());
}
以上对应查询sql:
select id,name from hstest where `id`>=1 and `name` like %'tom'%

事务操作

Transaction t = new Transaction(DataSourceTest.getDataSourceByDruid());
Hstest hstest = new Hstest();
hstest.setTransaction(t);  //使用事务t
hstest.name.setValue("tom");
hstest.age.setValue(11);
hstest.insert();
Hstest hstest2 = new Hstest();
hstest2.setTransaction(t); //使用事务t
hstest.name.setValue("jerry"); 
hstest.age.setValue(22);
hstest2.insert();
t.commit();   //提交
//t.rollBack(); //回滚
//t.close();    //关闭事务

批处理

Hstest ht = new Hstest();
hstest.name.setValue("tom"); 
hstest.age.setValue(33);
ht.addBatch();  //加入批处理
hstest.name.setValue("jerry"); 
hstest.age.setValue(44);
ht.addBatch(); //加入批处理
ht.endBatch(); //批处理结束并执行

java 支持对象对数据库 增删改查的全部操作,返回相应的对象

数据表操作全部映射为简单的对象操作


复杂的 SQL 操作,jdao 支持原生 sql 操作,使用 DBUtil
第一步,设置数据源,如上面数据源设置即可
例如:
DBUtil dt = new DBUtil()
int id = dt.execute("insert into hstest(`age`,`name`)values(?,?)", "11", "aa");
增删改 使用 execute方法
————————————————————————
DBUtil dt = new DBUtil()
dt.selects("select * from hstest where id>?", 0)
List<DBUtil> list = dt.rsList();
for (DBUtil r : list) {
      System.out.println(r.getString("name"));
}
查询数据使用 select,  返回一行使用selectSingle


jdao 项目地址:https://github.com/donnie4w/jdao

jdao 项目地址 2:https://gitee.com/donnie4w/jdao

jdao 使用 demo 地址:https://github.com/donnie4w/jdaodemo

jdao 使用 demo 地址 2:https://gitee.com/donnie4w/jdaodemo


maven 配置,jdao 本身无其他的依赖

		<dependency>
			<groupId>io.github.donnie4w</groupId>
			<artifactId>jdao</artifactId>
			<version>2.0.0</version>
		</dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值