1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger
@Suppress("unused") class HKSqlProvider { private val logger: Logger = LogManager.getLogger(UserController::class.java.name)
fun insert(tableModel: Any?): String { val tableName = tableModel?.javaClass?.simpleName?.replace("Model", "")?.toLowerUnderScoreFromUpperCamel() val modelFields = HKReflectUtil.getFields(tableModel?.javaClass) val valueNameList = ArrayList<String>() val sqlString = StringBuilder("insert into $tableName (") modelFields.forEach { field -> HKReflectUtil.getValue(field, tableModel)?.let { valueNameList.add(field.name) } } valueNameList.forEachIndexed { index, valueName -> sqlString.append(valueName).append(if (index != valueNameList.size - 1) "," else ") values(") } valueNameList.forEachIndexed { index, valueName -> sqlString.append("#{$valueName}").append(if (index != valueNameList.size - 1) "," else ")") }
logger.warn(""" --------------------------------- mybatis-buildSql-insert --> tableModel: $tableModel sql: $sqlString --------------------------------- """) return sqlString.toString() }
fun update(tableModel: Any?): String { val tableName = tableModel?.javaClass?.simpleName?.replace("Model", "")?.toLowerUnderScoreFromUpperCamel() val modelFields = HKReflectUtil.getFields(tableModel?.javaClass) val valueNameList = ArrayList<String>() val sqlString = StringBuilder("update $tableName set ") modelFields.forEach { field -> HKReflectUtil.getValue(field, tableModel)?.let { valueNameList.add(field.name) } } valueNameList.forEachIndexed { index, valueName -> sqlString.append("$valueName=#{$valueName}").append(if (index != valueNameList.size - 1) "," else "") }
logger.warn(""" --------------------------------- mybatis-buildSql-update --> tableModel: $tableModel sql: $sqlString --------------------------------- """) return sqlString.toString() }
fun delete(tableModel: Any?): String { val tableName = tableModel?.javaClass?.simpleName?.replace("Model", "")?.toLowerUnderScoreFromUpperCamel() val modelFields = HKReflectUtil.getFields(tableModel?.javaClass) val valueNameList = ArrayList<String>() val sqlString = StringBuilder("delete from $tableName where ") modelFields.forEach { field -> HKReflectUtil.getValue(field, tableModel)?.let { valueNameList.add(field.name) } } valueNameList.forEachIndexed { index, valueName -> sqlString.append("$valueName=#{$valueName}").append(if (index != valueNameList.size - 1) " and " else "") }
logger.warn(""" --------------------------------- mybatis-buildSql-delete --> tableModel: $tableModel sql: $sqlString --------------------------------- """) return sqlString.toString() }
fun select(tableModel: Any?): String { val tableName = tableModel?.javaClass?.simpleName?.replace("Model", "")?.toLowerUnderScoreFromUpperCamel() val modelFields = HKReflectUtil.getFields(tableModel?.javaClass) val valueNameList = ArrayList<String>() val sqlString = StringBuilder("select * from $tableName where ") modelFields.forEach { field -> HKReflectUtil.getValue(field, tableModel)?.let { valueNameList.add(field.name) } } valueNameList.forEachIndexed { index, valueName -> sqlString.append("$valueName=#{$valueName}").append(if (index != valueNameList.size - 1) " and " else "") }
logger.warn(""" --------------------------------- mybatis-buildSql-select --> tableModel: $tableModel sql: $sqlString --------------------------------- """) return sqlString.toString() } }
|