EntityInfo优化

This commit is contained in:
Redkale
2023-01-17 14:28:42 +08:00
parent 1d559ef4d4
commit ec5b337460

View File

@@ -122,6 +122,15 @@ public final class EntityInfo<T> {
//根据主键查找单个对象的SQL 含 :name
private final String findNamesPrepareSQL;
//根据主键查找单个对象的SQL; findQuestionPrepareSQL + ' ' 为了不覆盖find SQL的缓存
private final String findsQuestionPrepareSQL;
//根据主键查找单个对象的SQL 含 $; findsDollarPrepareSQL + ' ' 为了不覆盖find SQL的缓存
private final String findsDollarPrepareSQL;
//根据主键查找单个对象的SQL 含 :name; findNamesPrepareSQL + ' ' 为了不覆盖find SQL的缓存
private final String findsNamesPrepareSQL;
//数据库中所有字段
private final String[] querySqlColumns;
@@ -608,6 +617,9 @@ public final class EntityInfo<T> {
this.findQuestionPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = ?";
this.findDollarPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = $1";
this.findNamesPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = :" + getPrimarySQLColumn(null);
this.findsQuestionPrepareSQL = this.findQuestionPrepareSQL + " ";
this.findsDollarPrepareSQL = this.findDollarPrepareSQL + " ";
this.findsNamesPrepareSQL = this.findNamesPrepareSQL + " ";
if (this.tableStrategy == null && this.updateAttributes.length == 1) { //不分表且只有两个字段的表才使用Case方式
String[] dollarPrepareCaseSQLs = new String[51]; //上限50个
@@ -648,16 +660,19 @@ public final class EntityInfo<T> {
this.updateQuestionPrepareSQL = null;
this.deleteQuestionPrepareSQL = null;
this.findQuestionPrepareSQL = null;
this.findsQuestionPrepareSQL = null;
this.insertDollarPrepareSQL = null;
this.updateDollarPrepareSQL = null;
this.deleteDollarPrepareSQL = null;
this.findDollarPrepareSQL = null;
this.findsDollarPrepareSQL = null;
this.insertNamesPrepareSQL = null;
this.updateNamesPrepareSQL = null;
this.deleteNamesPrepareSQL = null;
this.findNamesPrepareSQL = null;
this.findsNamesPrepareSQL = null;
this.updateDollarPrepareCaseSQLs = null;
this.updateQuestionPrepareCaseSQLs = null;
@@ -822,6 +837,20 @@ public final class EntityInfo<T> {
return findQuestionPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的QUERY FINDS SQL
*
* @param pk 主键值
*
* @return String
*/
public String getFindsQuestionPrepareSQL(Serializable pk) {
if (this.tableStrategy == null) {
return findsQuestionPrepareSQL;
}
return findsQuestionPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的QUERY SQL
*
@@ -846,6 +875,20 @@ public final class EntityInfo<T> {
return findDollarPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的QUERY FINDS SQL
*
* @param pk 主键值
*
* @return String
*/
public String getFindsDollarPrepareSQL(Serializable pk) {
if (this.tableStrategy == null) {
return findsDollarPrepareSQL;
}
return findsDollarPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的QUERY SQL
*
@@ -860,6 +903,20 @@ public final class EntityInfo<T> {
return findNamesPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的QUERY FINDS SQL
*
* @param pk 主键值
*
* @return String
*/
public String getFindsNamesPrepareSQL(Serializable pk) {
if (this.tableStrategy == null) {
return findsNamesPrepareSQL;
}
return findsNamesPrepareSQL.replace("${newtable}", getTable(pk));
}
/**
* 获取Entity的INSERT SQL
*