jSqlBox 4.0.6 版更新,Java 数据库 ORM 工具
jSqlBox是一个Java全功能数据库持久层工具,主页 https://gitee.com/drinkjava2/jsqlbox
jSqlBox主要特点是架构优、尺寸小、功能全,基本上所有与数据库操作相关的功能,jSqlBox都已提供。它的主要特点有:
1.内核基于DbUtils并与之兼容。
2.jSqlBox提倡在java里拼写SQL,独创参数内嵌式SQL写法, 任意DAO方法甚至ActiveRecord方法都可以混插SQl片段,例如:
new Demo().setName(""张三"").insert().putField("name", "李四").update(" and name=", ques("李四"), " and age> ",ques(20));
3.单个jar包,无须引入任何第三方库即可实现声明式事务、分库分表和分布式事务
4.ActiveRecord实体类可以只声明接口,不占用宝贵的单继承
5.支持80多种数据库方言的DDL生成、分页、函数变换、实体源码生成
6.在低版本Java里也可以存放并利用IDE定位多行SQL文本
7.学习成本低,实体注解尽量兼容JPA注解,不支持级联、不支持隋性加载 。
jSqlBox的目标是做最好用的数据库持久层工具,正如我喜欢给别的项目找缺点一样,也欢迎大家来找jSqlBox的缺点。
本次更新是最近三次更新的汇总,最新版本为jsqlbox-4.0.6.jre8,有以下内容变更:
1. 从数据库生成Java源码时,char(xx) 类型不再映射成单个Character字符类型, 而是映射成String类型.
2. DB类中增加一个静态iPrepare方法以方便使用。
3. 新增一个SQL工具类,保存了SQL关键字常量,以减少拼写SQL的错误和去除字符引号,如字符" select " 可以用SQL.SELECT代替,例如以下SQL:
User u=DB.eLoadBySQL(User.class, "select * from user_tb where user_id=", ques(3), " or user_name=", ques("other"));
如果配合源码自动生成的列名常量,以及静态引入的SQL常量,则可以写成以下支持SQL重构的形式:
User u=DB.eLoadBySQL(User.class, SELECT_STAR, FROM, User.TABLE_NAME, WHERE, User.ID, EQ, ques(3), OR, User.NAME, EQ, ques("other"));
这种写法相比与JOOQ之类的SQL工具来说,优点是秒懂、学习负担轻,因为本质上jSqlBox就是在Java里拼接SQL字符串。
4. DbContext和DB类中新增了一个eFindOneBySQL方法,这个方法如果没有发现实体将会返回null, 而不是象eLoadBySQL方法一样抛出异常。
5. StrUtils工具类中增加了一个array方法,用于将数组转换写成("abc", 12, 345)类型的字符串形式。
6. TableModelUtilsOfDb和TableModelUtilsOfJavaSrc中,改成用字符串常量的形式,并有功能调整,
7. 允许使用@Column(name="`xxx`") 的方式使用数据库关键字作为列名,支持反单引号、双引号、中括号三种引用符,视不同的数据库而定。使用数据库关键字作为列名这种做法不推荐,通常只用于旧项目改造,新项目强烈不建议使用关键字作为列名。
8. TypeUtils中更正了实体不支持基本数据类型如int、short等类型的bug
9. 更正了@IdentityId注解在MySql下出错的bug,这是BigInteger类型转换有bug造成的
10. 更正了@Enumerated注解的字段应该允许为null
以上更新内容感谢mr.fire同学提交pr和weishengbin同学提交issue!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python机器学习小知识:pandas.apply
pandas.apply函数是Python在机器学习处理数据时常用的一个方法。apply函数会自动遍历每一行DataFrame的数据,最后将所有结果组合成一个Series数据结构并返回。该函数定义如下:DataFrame.apply(self, func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)其中,func 参数是函数名,相当于C/C++的函数指针。func函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据,结构传入给func函数中,这样会在定义的func函数中实现对Series不同属性之间的计算,返回结果。具体定义请参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html 以下为一些例子: df = pd.DataFrame([[4, 9]] * 3, columns=['A', ...
- 下一篇
大数据就业前景分析
大数据就业前景分析,大数据广泛应用于电网运行、经营管理及优质服务等各大领域,并正在改变着各行各业,也引领了大数据人才的变革。大数据就业前景怎么样?这对于在就业迷途中的我们是一个很重要的信息。随着大数据时代的到来,这次国家教育部也改革动真格了。大军即将进入,全民开始行动了。2019年各大高校都已经开设大数据专业,真正的竞争压力马上就会来了,已经加入大数据行业的同学很幸运,一定要抓住一切可以抓住机会,全身心的投入。人生不只是低头拉车,更要抬头看路。1、大数据人才需求及现状分析随着国家重视大数据,政府扶持大数据,大数据在企业中生根发芽,开花结果。未来三至五年,中国需要180万数据人才,但目前只有约30万人。PS:各大招聘网站的岗位需求前程无忧大数据岗位搜索,共29854个职位满足条件;智联招聘大数据岗位搜索,共27627个职位满足条件;猎聘网大数据岗位搜索,共1000+个职位满足条件;拉勾网大数据岗位搜索,共500+个职位满足条件。高薪只要你敢想,敢付出,还害怕高薪的人不是自己吗?2、人才缺口大,钱途可观1)JavaJava以及基于Java的框架,被发现俨然成为了硅谷最大的那些高科技公司的骨...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16