public static string MybatisDelete(CodeMakerGeneratCodeOut inModel) { var tableName = inModel.CodeMakerGeneratCodeIn.Table; var result = new StringBuilder(); if (!inModel.FieldDescriptions.Any()) { return(string.Empty); } var field = new JlFieldDescription(); if (inModel.FieldDescriptions.Count(f => f.ColumnKey == "PRI") == 1) { field = inModel.FieldDescriptions.First(f => f.ColumnKey == "PRI"); } else { field = inModel.FieldDescriptions.FirstOrDefault(); } result.AppendLine(string.Format( @" <delete id=""deleteBy{1}"" parameterType=""{4}""> delete from {0} where {5} = #{{{2},jdbcType={3}}} </delete>", tableName, JlString.ToUpperFirst(field.Name), JlString.ToLowerFirst(field.SimpleName), JlDbTypeMap.Map4Mybatis_PostgreSql(field.DbType).ToUpper(), JlDbTypeMap.Map4J(field.DbType, true, inModel.databaseType), field.Name)); return(result.ToString()); }
public static string MybatisUpdate(CodeMakerGeneratCodeOut inModel) { var className = inModel.CodeMakerGeneratCodeIn.ClassName; var tableName = inModel.CodeMakerGeneratCodeIn.Table; var result = new StringBuilder(); var field_UpdateParams = new StringBuilder(); var field_UpdateParamsSelective = new StringBuilder(); if (!inModel.FieldDescriptions.Any()) { return(string.Empty); } inModel.FieldDescriptions.Where(f => f.ColumnKey != "PRI").ToList().ForEach(f => { field_UpdateParams.Append(string.Format("{2} = #{{{0},jdbcType={1}}}, ", JlString.ToLowerFirst(f.SimpleName), JlDbTypeMap.Map4Mybatis_PostgreSql(f.DbType).ToUpper(), f.Name)); if (field_UpdateParams.ToString().Split(new string[] { "\r\n" }, StringSplitOptions.None).Last().Length > 100) { field_UpdateParams.Append("\r\n "); } field_UpdateParamsSelective.AppendLine(string.Format( @" <if test=""{0} != null""> {1} = #{{{0},jdbcType={2}}}, </if>", JlString.ToLowerFirst(f.SimpleName), f.Name, JlDbTypeMap.Map4Mybatis_PostgreSql(f.DbType).ToUpper())); }); var field = new JlFieldDescription(); if (inModel.FieldDescriptions.Count(f => f.ColumnKey == "PRI") == 1) { field = inModel.FieldDescriptions.First(f => f.ColumnKey == "PRI"); } else { field = inModel.FieldDescriptions.FirstOrDefault(); } result.AppendLine(string.Format( @" <update id=""updateBy{7}"" parameterType=""{4}""> update {0} set {6} where {1} = #{{{2},jdbcType={3}}} </update> <update id=""updateBy{7}Selective"" parameterType=""{4}""> update {0} <set> {5} </set> where {1} = #{{{2},jdbcType={3}}} </update>", tableName, field.Name, JlString.ToLowerFirst(field.SimpleName), JlDbTypeMap.Map4Mybatis_PostgreSql(field.DbType).ToUpper(), string.Format(inModel.CodeMakerGeneratCodeIn.Package, "model") + "." + className, field_UpdateParamsSelective, field_UpdateParams.ToString().TrimEnd().Substring(0, field_UpdateParams.ToString().TrimEnd().Length - 1), JlString.ToUpperFirst(field.SimpleName))); return(result.ToString()); }
public static string MybatisSelect(CodeMakerGeneratCodeOut inModel) { var tableName = inModel.CodeMakerGeneratCodeIn.Table; var result = new StringBuilder(); if (inModel.FieldDescriptions.Any()) { var field = new JlFieldDescription(); if (inModel.FieldDescriptions.Any(f => f.ColumnKey == "PRI")) { field = inModel.FieldDescriptions.First(f => f.ColumnKey == "PRI"); } else { field = inModel.FieldDescriptions.FirstOrDefault(); } result.AppendLine(string.Format( @" <select id=""{6}By{1}"" parameterType=""{4}"" resultMap=""BaseResultMap""> select <include refid=""Base_Column_List"" /> from {0} where {5} = #{{{2},jdbcType={3}}} </select> <select id=""selectAll"" resultMap=""BaseResultMap""> select <include refid=""Base_Column_List"" /> from {0} </select> <select id=""selectByPage"" parameterType=""{7}"" resultMap=""BaseResultMap""> select <include refid=""Base_Column_List"" /> from {0} <trim prefix=""where"" prefixOverrides=""and | or""> <include refid = ""Where_Column_List""></include> </trim> LIMIT #{{length}} OFFSET #{{start}} </select> <select id=""selectByWhere"" parameterType=""{7}"" resultMap=""BaseResultMap""> select <include refid=""Base_Column_List"" /> from {0} <trim prefix=""where"" prefixOverrides=""and | or""> <include refid = ""Where_Column_List""></include> </trim> LIMIT 1 </select> <select id=""selectListByWhere"" parameterType=""{7}"" resultMap=""BaseResultMap""> select <include refid=""Base_Column_List"" /> from {0} <trim prefix=""where"" prefixOverrides=""and | or""> <include refid = ""Where_Column_List""></include> </trim> </select> <select id=""count"" parameterType=""{7}"" resultType=""Integer""> select count(1) from {0} <trim prefix=""where"" prefixOverrides=""and | or""> <include refid = ""Where_Column_List""></include> </trim> </select>", tableName, JlString.ToUpperFirst(field.Name), JlString.ToLowerFirst(field.SimpleName), JlDbTypeMap.Map4Mybatis_PostgreSql(field.DbType).ToUpper(), JlDbTypeMap.Map4J(field.DbType, true, inModel.databaseType), field.Name, inModel.FieldDescriptions.Any(f => f.ColumnKey == "PRI") ? "select" : "selectList", string.Format(inModel.CodeMakerGeneratCodeIn.Package, "model") + "." + inModel.CodeMakerGeneratCodeIn.ClassName)); } return(result.ToString()); }
public string RefMybatisMapper(CodeMakerGeneratCodeOut inModel) { var className = inModel.CodeMakerGeneratCodeIn.ClassName; var tableName = inModel.CodeMakerGeneratCodeIn.Table; var field_Basic = new StringBuilder(); var field_Add = new StringBuilder(); var fieldValue = new StringBuilder(); var fieldParams = new StringBuilder(); var field_SqlContent = new StringBuilder(); var field = new JlFieldDescription(); if (inModel.FieldDescriptions.Any(f => f.ColumnKey == "PRI")) { field = inModel.FieldDescriptions.First(f => f.ColumnKey == "PRI"); } else { field = inModel.FieldDescriptions.FirstOrDefault(); } var codeStr = new StringBuilder(); codeStr.AppendLine(string.Format( @"package {0}; import {1}; import java.util.List; public interface I{2}Dao{{ {7}By{3}({4} {5}); List<{2}> selectAll(); List<{2}> selectByPage({2} {6}); {2} selectByWhere({2} {6}); List<{2}> selectListByWhere({2} {6}); int count({2} {6}); int deleteBy{3}({4} {5}); int updateBy{3}({2} {6}); int updateBy{3}Selective({2} {6}); int insert({2} {6}); int insertSelective({2} {6}); void batchInsert(List<{2}> {6}List); }}", string.Format(inModel.CodeMakerGeneratCodeIn.Package, "dao"), string.Format(inModel.CodeMakerGeneratCodeIn.Package, "model") + "." + className, className, JlString.ToUpperFirst(field.SimpleName), JlDbTypeMap.Map4J(field.DbType, true, inModel.databaseType), JlString.ToLowerFirst(field.SimpleName), JlString.ToLowerFirst(className), inModel.FieldDescriptions.Any(f => f.ColumnKey == "PRI") ? className + " select" : "List<" + className + "> selectList")); return(codeStr.ToString()); }