网站首页 > 开源技术 正文
jSqlBox主要特点是架构优、尺寸小、功能全,基本上所有与数据库操作相关的功能,jSqlBox都已提供。它的主要特点有: 1.内核基于DbUtils并与之兼容。 2.提倡在java里拼写SQL,独创参数内嵌式SQL写法, 而且任意CRUD方法里都可以混插SQl片段,例如: new Demo().setName("张三").insert().putField("age", 15).update(" and name=?", param("李四"), " or age>? ",param(20));3.只有单个1M大小的jar包,不依赖任何第三方库,不依赖Spring。 4.支持分库分表、声明式事务、分布式事务,缓存翻译。 5.支持80多种数据库方言,支持DDL生成、实体或数据库结构导出Excel,分页、函数变换、实体源码生成。 6.学习成本低,兼容主要的实体JPA注解。 在Java中直接写SQL是jSqlBox的主要特点之一,可能有人问XML或其它模板方式写SQL不香吗? 是的,用XML之类的模板有以下几个缺点:1. 需要与插件配合才可以定位SQL,而且通常不支持SQL标记符的重构。 2. XML中的占位符,在实际调用时是需要赋值的,这相当于又重复敲了一遍代码。很多人一看模板方式写SQL很简洁,但不要忘记了,模板是需要赋值的,赋值语句也是要占用源码行数的,一旦变量名变动,需要同时在模板和赋值语句两处修改。 3. XML 之类的模板如果要写自定义函数很困难,而使用Java则没有这个问题。 4. XML需要单独的文件存放,而且如果要在前端直接写SQL,则XML文件没法保存。(参见本人GoSqlGo项目) 本次(jSqlBox4.0.8.jre8)更新内容:
把实体结构或数据库结构导出到Excel中
1.实体结构导出以下语句会扫描指定包domain,把此包下的所有实体类的结构输出为Excel的CSV格式:
TableModelUtils.entityPackage2Excel("com.abc.domain", "d:/packageOutput.csv");
也可以指定具体的实体类导出,如:
TableModelUtils.entity2Excel("d:/entitiesOutput.csv", User.class, Customer.class, Order.class);
以下为导出的Excel示例:
2.将数据库结构导出为Excel的CSV格式,第二个参数为方言类型:
@Autowired
DataSource ds;
TableModelUtils.db2Excel(ds.getConnection(), Dialect.MySQL57Dialect, "d:/dbOutput.csv");
以下是导出的Excel示例:
导出Excel功能目前只有固定的这几个方法。如果有不同格式、语言的导出需求,可以参照jSqlBox中的TableModelUtilsOfExcel.java源码写一个你自已的工具类即可,TableModelUtilsOfExcel.java这个工具类只有168行源码,相信在这个基础上你可以很快写出你想要的Excel输出工具来。导出Excel有专用的工具或专门的项目,为什么jSqlBox要开发这个功能?不为别的,只因为jSqlBox能做到,从架构上jSqlBox内含了jDialects方言子项目,能轻而易举实现导出Excel这个功能,这个是早就有的打算,源码中早就注明了会有这个功能,不是为了跟风。
- 上一篇: 如何设计一个秒杀系统?(秒杀系统流程)
- 下一篇: 应大家需要,Java常用开发工具汇总来了
猜你喜欢
- 2024-09-19 将Sentinel监控数据持久化到外部InfluxDB时间序列数据库
- 2024-09-19 【每日一学】解锁数据库之门:深入探讨JDBC技术的奇妙世界
- 2024-09-19 成为优秀的Java程序员要具备哪些技能?
- 2024-09-19 Java架构师的10个学习经验,不可错过
- 2024-09-19 软件测试学习教程——JDBC开发(jdbc 测试)
- 2024-09-19 文科妹子都能看懂Mybatis快速入门教程
- 2024-09-19 如何通过连接池提高API性能(连接池获取连接)
- 2024-09-19 应大家需要,Java常用开发工具汇总来了
- 2024-09-19 一行代码搞定数据库操作 ThinkJDBC
- 2024-09-19 如何设计一个秒杀系统?(秒杀系统流程)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)