• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

EnhancedJDBC: EnhancedJDBC是一个基于Apache Commons DbUtils并对其功能作了改进的纯 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

EnhancedJDBC

开源软件地址:

https://gitee.com/drinkjava2/enhancedjdbc

开源软件介绍:

EnhancedJDBC

开源协议: Apache 2.0

EnhancedJDBC(又名jDbPro)是一个建立于Apache Commons DbUtils上,并对其增强了动态SQL功能的JDBC持久层工具,它是一个承上(包装JDBC,支持多种SQL写法)启下(作为ORM项目内核)的项目,但它本身也是一个独立的工具,可以单独使用,其运行环境为Java6或以上。

作为ORM项目的内核,EnhancedJDBC仅关注于改进JDBC操作的易用性,它不考虑对象映射、关联映射、数据库方言、分布式事务等高级功能,这些高级功能属于ORM工具如jSqlBox负责的范畴。jSqlBox的设计理念是尽量将每个功能点设计成独立的小项目,隔离它们的相互依赖性,每个小项目都可以单独使用,整合在一起就成了jSqlBox,这与Hibernate之类将JDBC、ORM功能捆绑在一起的持久层工具是不同的。目前在这一理念下已经开发的工具项目有:
1)jDialects,这是一个支持70多种方言的SQL分页、DDL支持、JPA支持工具,用于解决利用JDBC工具进行跨数据库开发的问题。
2)jTransactions,这是一个将声明式事务作为单独的项目提供的小工具,目前包含一个微型实现TinyTx,并支持配置成使用Spring的声明式事务。
3)jBeanBox,这是一个微型IOC/AOP工具,如果不想用笨重的Spring-Ioc,可以用它来替代。
4)EnhancedJDBC,即本项目,主要优点是利用纯JDBC完成最主要的功能:SQL操作,但是加入了内嵌SQL式写法、分页、多租户支持,让纯JDBC开发也可以达到高效率、多功能,用最低的学习成本获得较高的开发效率和接近底层JDBC的运行效率。
5)jSqlBox,这是一个整合了上述子项目的ORM工具,除了拥有EnhancedJDBC的所有功能并与DbUtils兼容之外,主要增加了实体映射、ActiveRecord、声明式事务、分布式事务等高级功能。得益于EnhancedJDBC等子项目做了大量底层工作,jSqlBox项目只用了约40个类就构成了一个功能完备的ORM工具。

如何引入EnhancedJDBC到项目?

在项目的pom.xml文件中加入如下行:

   <dependency>        <groupId>com.github.drinkjava2</groupId>        <artifactId>enhanced-jdbc</artifactId>        <version>5.0.7.jre8</version> <!--或Maven最新版-->   </dependency>

EnhancedJDBC不依赖于任何第三方库, 即可以用上述Maven的方式引入,也可以将它的源码拷到项目中即可使用。

说明

从2.0.2版本起,EnhancedJDBC即不再有自已的说明文档,因为它的功能已在jSqlBox中的用户手册中有比较详细的介绍。以下两行是个简短的使用示例,更多使用方式请参见jSqlBox的用户手册。

public class HelloWorld  {	@Id	@Column(length = 20)	private String name;	public String getName() {		return name;	}	public HelloWorld setName(String name) {		this.name = name;		return this;	}	public static void main(String[] args) {		DataSource ds = JdbcConnectionPool				.create("jdbc:h2:mem:DBName;MODE=MYSQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=0", "sa", "");		JdbcContext.setGlobalNextAllowShowSql(true);		JdbcContext ctx = new JdbcContext(ds);		JdbcContext.setGlobalDbContext(ctx);		ctx.executeDDL(ctx.toCreateDDL(HelloWorld.class)); 				new HelloWorld().setName("Hellow jSqlBox");		JDBC.exe("insert into HelloWorld (name) values(?)",JDBC.par("tom"));		System.out.println(JDBC.qryString("select name from HelloWorld"));		ctx.executeDDL(ctx.toDropDDL(HelloWorld.class));	}}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap