EntityInfo优化
This commit is contained in:
@@ -122,6 +122,15 @@ public final class EntityInfo<T> {
|
|||||||
//根据主键查找单个对象的SQL, 含 :name
|
//根据主键查找单个对象的SQL, 含 :name
|
||||||
private final String findNamesPrepareSQL;
|
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;
|
private final String[] querySqlColumns;
|
||||||
|
|
||||||
@@ -608,6 +617,9 @@ public final class EntityInfo<T> {
|
|||||||
this.findQuestionPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = ?";
|
this.findQuestionPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = ?";
|
||||||
this.findDollarPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = $1";
|
this.findDollarPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = $1";
|
||||||
this.findNamesPrepareSQL = "SELECT " + querydb + " FROM " + table + " WHERE " + getPrimarySQLColumn(null) + " = :" + getPrimarySQLColumn(null);
|
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方式
|
if (this.tableStrategy == null && this.updateAttributes.length == 1) { //不分表且只有两个字段的表才使用Case方式
|
||||||
String[] dollarPrepareCaseSQLs = new String[51]; //上限50个
|
String[] dollarPrepareCaseSQLs = new String[51]; //上限50个
|
||||||
@@ -648,16 +660,19 @@ public final class EntityInfo<T> {
|
|||||||
this.updateQuestionPrepareSQL = null;
|
this.updateQuestionPrepareSQL = null;
|
||||||
this.deleteQuestionPrepareSQL = null;
|
this.deleteQuestionPrepareSQL = null;
|
||||||
this.findQuestionPrepareSQL = null;
|
this.findQuestionPrepareSQL = null;
|
||||||
|
this.findsQuestionPrepareSQL = null;
|
||||||
|
|
||||||
this.insertDollarPrepareSQL = null;
|
this.insertDollarPrepareSQL = null;
|
||||||
this.updateDollarPrepareSQL = null;
|
this.updateDollarPrepareSQL = null;
|
||||||
this.deleteDollarPrepareSQL = null;
|
this.deleteDollarPrepareSQL = null;
|
||||||
this.findDollarPrepareSQL = null;
|
this.findDollarPrepareSQL = null;
|
||||||
|
this.findsDollarPrepareSQL = null;
|
||||||
|
|
||||||
this.insertNamesPrepareSQL = null;
|
this.insertNamesPrepareSQL = null;
|
||||||
this.updateNamesPrepareSQL = null;
|
this.updateNamesPrepareSQL = null;
|
||||||
this.deleteNamesPrepareSQL = null;
|
this.deleteNamesPrepareSQL = null;
|
||||||
this.findNamesPrepareSQL = null;
|
this.findNamesPrepareSQL = null;
|
||||||
|
this.findsNamesPrepareSQL = null;
|
||||||
|
|
||||||
this.updateDollarPrepareCaseSQLs = null;
|
this.updateDollarPrepareCaseSQLs = null;
|
||||||
this.updateQuestionPrepareCaseSQLs = null;
|
this.updateQuestionPrepareCaseSQLs = null;
|
||||||
@@ -822,6 +837,20 @@ public final class EntityInfo<T> {
|
|||||||
return findQuestionPrepareSQL.replace("${newtable}", getTable(pk));
|
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
|
* 获取Entity的QUERY SQL
|
||||||
*
|
*
|
||||||
@@ -846,6 +875,20 @@ public final class EntityInfo<T> {
|
|||||||
return findDollarPrepareSQL.replace("${newtable}", getTable(pk));
|
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
|
* 获取Entity的QUERY SQL
|
||||||
*
|
*
|
||||||
@@ -860,6 +903,20 @@ public final class EntityInfo<T> {
|
|||||||
return findNamesPrepareSQL.replace("${newtable}", getTable(pk));
|
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
|
* 获取Entity的INSERT SQL
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user