150 Star 943 Fork 179

sagframe / sagacity-sqltoy

标签名
描述
提交信息
操作

1、因存在count缓存、pageNo越界、查询count和查询记录的时间差等场景,导致totalCount跟pageNo、pageSize、rowSize的逻辑值差异,比如:totalCount=8,pageNo=2,rowSize=1,pageSize=10,应校正totalCount=11

<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
        <!-- jdk8 对应的版本号为:5.6.4.jre8 -->
	<version>5.6.4</version>
</dependency>

<!-- 纯粹springboot项目只需引入sagacity-sqltoy-spring-starter依赖即可  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring-starter</artifactId>
        <!-- jdk8 对应的版本号为:5.6.4.jre8 -->
	<version>5.6.4</version>
</dependency>

<!-- solon 插件  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sqltoy-orm-solon-plugin</artifactId>
        <!-- jdk8 对应的版本号为:5.6.4.jre8 -->
	<version>5.6.4</version>
</dependency>
2024-04-03 17:06

1、因分页取count会排除掉最外层的order by,而order by ? ?模式需要排除掉动态参数
2、优化存储过程调用总记录数的日志输出

<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
        <!-- jdk8 对应的版本号为:5.6.3.jre8 -->
	<version>5.6.3</version>
</dependency>

<!-- 纯粹springboot项目只需引入sagacity-sqltoy-spring-starter依赖即可  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring-starter</artifactId>
        <!-- jdk8 对应的版本号为:5.6.3.jre8 -->
	<version>5.6.3</version>
</dependency>
2024-03-29 17:15

1、优化单笔记录插入PrepareStatement 未关闭的缺陷

感谢@legendary 的反馈

<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
        <!-- jdk8 对应的版本号为:5.6.2.jre8 -->
	<version>5.6.2</version>
</dependency>

<!-- 纯粹springboot项目只需引入sagacity-sqltoy-spring-starter依赖即可  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring-starter</artifactId>
        <!-- jdk8 对应的版本号为:5.6.2.jre8 -->
	<version>5.6.2</version>
</dependency>
2024-03-19 20:40

1、支持convertType别名@SqlToyFieldAlias双向PO<-->DTO 映射 (感谢 @gleam )
2、优化sql查询结果封装OneToOne,OneToMany 按照业务逻辑场景,而非存粹的数据库表主外键 (感谢 @俊华 )

感谢:@俊华、@Gleam 两位用户的反馈

<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
        <!-- jdk8 对应的版本号为:5.6.1.jre8 -->
	<version>5.6.1</version>
</dependency>

<!-- 纯粹springboot项目只需引入sagacity-sqltoy-spring-starter依赖即可  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring-starter</artifactId>
        <!-- jdk8 对应的版本号为:5.6.1.jre8 -->
	<version>5.6.1</version>
</dependency>
2024-03-15 10:53

1、拆分sqltoy-orm-core\sqltoy-orm-spring\sqltoy-orm-spring-starter 三个子项目,剥离对spring的依赖
2、分5.6.x 和 5.6.x.jre8 两个分支版本,5.6.x 以jdk17、springboot3.x 为起点

<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
        <!-- jdk8 对应的版本号为:5.6.0.jre8 -->
	<version>5.6.0</version>
</dependency>

<!-- 纯粹springboot项目只需引入sagacity-sqltoy-spring-starter依赖即可  -->
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring-starter</artifactId>
        <!-- jdk8 对应的版本号为:5.6.0.jre8 -->
	<version>5.6.0</version>
</dependency>

3、传统spring项目只需引入sagacity-sqltoy-spring依赖

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-spring</artifactId>
        <!-- jdk8 对应的版本号为:5.6.0.jre8 -->
	<version>5.6.0</version>
</dependency>

<!-- spring sqltoy xml 配置-->
<!-- 配置sqltoy框架的上下文 -->
<bean id="sqlToyContext" class="org.sagacity.sqltoy.SqlToyContext"
		init-method="initialize" destroy-method="destroy">
	<!-- sqltoy5.6.x 传统spring项目需设置appContext、connectionFactory -->
	<property name="appContext">
		<bean class="org.sagacity.sqltoy.integration.impl.SpringAppContext"/>
	</property>
	<property name="connectionFactory">
		<bean class="org.sagacity.sqltoy.integration.impl.SpringConnectionFactory"/>
	</property>
	<!-- 指定sql.xml 文件的路径实现目录的递归查找,多个路径则用逗号分隔 -->
	<property name="sqlResourcesDir"
			value="classpath:com/sqltoy/quickstart" />
	<!--非必须属性:默认值为false -->
	<property name="debug" value="${sqltoy.debug}" />
</bean>
2024-03-07 16:53

1、优化@value(:param)输出,支持日期、数组、集合、枚举等类型

5.3.71 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.100</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.100</version>
</dependency>
2024-03-07 16:48

1、修改org.sagacity.sqltoy.integration.impl.SpringAppContext 自动注入applictionContext,简化传统spring xml配置项目SqltoyContext实例创建

5.3.70 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.98</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.98</version>
</dependency>
2024-02-23 18:46

1、优化英文日期星期二(Tues)、四(Thur)简写的解析缺陷,规范为(Tue、Thu)

感谢@兵兵 的反馈

5.3.69 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.96</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.96</version>
</dependency>
2024-02-23 18:35

1、优化updateByQuery条件属性跟修改属性一致时的缺陷

感谢@俊华 的反馈

5.3.68 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.95</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.95</version>
</dependency>
2024-02-19 22:33

1、优化安全脱敏邮件类型时maskCode非null判断
2、优化同比环比计算改用BIGDECIMAL进行计算保障精度

5.3.67 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.94</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.94</version>
</dependency>
2024-02-07 15:34

1、修复@loop和sql日志中localDateTime纳秒输出缺陷

5.3.66 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.93</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.93</version>
</dependency>
2024-02-04 16:45

1、修复含with as (select * from @fast( ... union all )) select * from table,极端场景下分页查询count未正确处理union 的缺陷

5.3.65 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.92</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.92</version>
</dependency>
2024-02-02 00:28

1、修复updateByQuery中UnifyFieldsHandler未判null引发的空指针异常

5.3.64 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.91</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.91</version>
</dependency>
2024-01-22 23:36

1、增强loop中LocalDateTime和LocalTime的输出精度

5.3.63 同步发版

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.90</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.90</version>
</dependency>
2024-01-17 07:36

1、优化数据库关键词设置顺序,提前到EntityManager.initialize()前面

<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.89</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.88</version>
</dependency>
2023-12-31 12:30

1、支持通过pojo自动生成表结构和自动建表(默认支持mysql、postgresql、oracle、sqlserver)

package org.sagacity.sqltoy.plugins.ddl;
import org.sagacity.sqltoy.model.TableMeta;
public interface DialectDDLGenerator {
	/**
	 * @TODO 根据单个POJO产生创建表的sql
	 * @param tableMeta
         * @param schema 仅针对sqlserver生成表或字段注释有效,其它数据库填null即可
	 * @param dbType
	 * @return
	 */
	public default String createTableSql(TableMeta tableMeta,String schema, int dbType) {
		return null;
	}
}

说明:yml配置中要设置packagesToScan 和 autoDDL,同时quickvo要使用5.2.0版本

# 增加包扫描路径,打开autoDDL
spring:
   sqltoy:
       packagesToScan: 
       - com.sqltoy.quickstart.vo
       autoDDL: true
       #dialectDDLGenerator: com.xxxx.自定义扩展实现类
## 演示生成文件
@Test
public void testCreateSqlFile() {
   String[] scanPackages = new String[] { "com.sqltoy.quickstart.vo" };
   try {
     DDLFactory.createSqlFile(scanPackages, "D://sqltoy.sql", DBType.POSTGRESQL,null, null);
   } catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
   }
}
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.88</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.88</version>
</dependency>
2023-12-27 14:53

1、支持通过pojo自动生成表结构和自动建表(默认支持mysql、postgresql、oracle、sqlserver)

package org.sagacity.sqltoy.plugins.ddl;
import org.sagacity.sqltoy.model.TableMeta;
public interface DialectDDLGenerator {
	/**
	 * @TODO 根据单个POJO产生创建表的sql
	 * @param tableMeta
         * @param schema 仅针对sqlserver生成表或字段注释有效,其它数据库填null即可
	 * @param dbType
	 * @return
	 */
	public default String createTableSql(TableMeta tableMeta,String schema, int dbType) {
		return null;
	}
}

说明:yml配置中要设置packagesToScan 和 autoDDL,同时quickvo要使用5.2.0版本

# 增加包扫描路径,打开autoDDL
spring:
   sqltoy:
       packagesToScan: 
       - com.sqltoy.quickstart.vo
       autoDDL: true
       #dialectDDLGenerator: com.xxxx.自定义扩展实现类
## 演示生成文件
@Test
public void testCreateSqlFile() {
   String[] scanPackages = new String[] { "com.sqltoy.quickstart.vo" };
   try {
     DDLFactory.createSqlFile(scanPackages, "D://sqltoy.sql", DBType.POSTGRESQL,null, null);
   } catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
   }
}
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.88.RC5</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.88.RC5</version>
</dependency>
2023-12-27 14:40

1、支持通过pojo自动生成表结构和自动建表(目前框架已经实现对mysql、postgresql的支持)

package org.sagacity.sqltoy.plugins.ddl;
import org.sagacity.sqltoy.model.TableMeta;
public interface DialectDDLGenerator {
	/**
	 * @TODO 根据单个POJO产生创建表的sql
	 * @param tableMeta
         * @param schema 仅针对sqlserver生成表或字段注释有效,其它数据库填null即可
	 * @param dbType
	 * @return
	 */
	public default String createTableSql(TableMeta tableMeta,String schema, int dbType) {
		return null;
	}
}

说明:yml配置中要设置packagesToScan 和 autoDDL,同时quickvo要使用5.2.0版本

# 增加包扫描路径,打开autoDDL
spring:
   sqltoy:
       packagesToScan: 
       - com.sqltoy.quickstart.vo
       autoDDL: true
       #dialectDDLGenerator: com.xxxx.自定义扩展实现类
## 演示生成文件
@Test
public void testCreateSqlFile() {
   String[] scanPackages = new String[] { "com.sqltoy.quickstart.vo" };
   try {
     DDLGenerator.createSqlFile(scanPackages, "D://sqltoy.sql", DBType.POSTGRESQL,null, null);
   } catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
   }
}
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.88.RC4</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.88.RC4</version>
</dependency>
2023-12-27 14:40

1、支持通过pojo自动生成表结构和自动建表(目前框架已经实现对mysql、postgresql的支持)

package org.sagacity.sqltoy.plugins.ddl;
import org.sagacity.sqltoy.model.TableMeta;
public interface DialectDDLGenerator {
	/**
	 * @TODO 根据单个POJO产生创建表的sql
	 * @param tableMeta
         * @param schema 仅针对sqlserver生成表或字段注释有效,其它数据库填null即可
	 * @param dbType
	 * @return
	 */
	public default String createTableSql(TableMeta tableMeta,String schema, int dbType) {
		return null;
	}
}

说明:yml配置中要设置packagesToScan 和 autoDDL,同时quickvo要使用5.2.0版本

# 增加包扫描路径,打开autoDDL
spring:
   sqltoy:
       packagesToScan: 
       - com.sqltoy.quickstart.vo
       autoDDL: true
       #dialectDDLGenerator: com.xxxx.自定义扩展实现类
## 演示生成文件
@Test
public void testCreateSqlFile() {
   String[] scanPackages = new String[] { "com.sqltoy.quickstart.vo" };
   try {
     DDLGenerator.createSqlFile(scanPackages, "D://sqltoy.sql", DBType.POSTGRESQL,null, null);
   } catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
   }
}
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy</artifactId>
	<version>5.2.88.RC2</version>
</dependency>
<dependency>
	<groupId>com.sagframe</groupId>
	<artifactId>sagacity-sqltoy-starter</artifactId>
	<version>5.2.88.RC2</version>
</dependency>
2023-12-27 14:40
2023-12-27 14:40
Java
1
https://gitee.com/sagacity/sagacity-sqltoy.git
git@gitee.com:sagacity/sagacity-sqltoy.git
sagacity
sagacity-sqltoy
sagacity-sqltoy

搜索帮助