Пример #1
0
        private String CreateInsertSqlForCSharp(DatabaseTable model, bool isReturnId)
        {
            String sql = "insert into {0}({1}) values(@{2});{3}";//由于采用String.Join方法,多出一个@作为",@"分隔符方式的补充

            DatabaseFiled[] arr = new DatabaseFiled[model.Fileds.Count];
            model.Fileds.CopyTo(arr);//防止破坏模型数据
            List <DatabaseFiled> list = arr.ToList();

            list.RemoveAll(a => a.Name == (model.Name + "Id")); //数据库设计规范,主键为表名+Id
            list.RemoveAll(a => a.Name == "CreateTime");        //数据库设计规范,每张表必有CreateTime字段并且字段有默认数值
            list.RemoveAll(a => a.Name == "UpdateTime");        //数据库设计规范,UpdateTime
            IEnumerable <String> filedNames = list.Select(x => x.Name);
            String fileds = String.Join(",", filedNames);

            sql = String.Format(sql, model.Name, fileds, String.Join(",@", filedNames), (isReturnId ? "select @@IDENTITY;" : ""));//传值变量需要满足Dapper的要求变量名和类属性名一致
            return(sql);
        }
Пример #2
0
        private String CreateUpdateSqlForJava(DatabaseTable model)
        {
            String sql = "update {0} set {1} where {2}Id=#{{{2}.{0}Id}}";

            DatabaseFiled[] arr = new DatabaseFiled[model.Fileds.Count];
            model.Fileds.CopyTo(arr);//防止破坏模型数据
            List <DatabaseFiled> list = arr.ToList();

            list.RemoveAll(a => a.Name == (model.Name + "Id")); //数据库设计规范,主键为表名+Id
            list.RemoveAll(a => a.Name == "createTime");        //数据库设计规范,每张表必有CreateTime字段
            list.RemoveAll(a => a.Name == "updateTime");        //数据库设计规范,UpdateTime,并且字段有默认时间戳
            IEnumerable <String> filedNames = list.Select(x => (x.Name + "=#{" + ParseName(model.Name) + "." + x.Name + "}"));
            String fileds = String.Join(",", filedNames);

            sql = String.Format(sql, model.Name, fileds, ParseName(model.Name));//传值变量需要满足mybatis的具名要求变量名和类属性名一致
            return(sql);
        }
Пример #3
0
        private String CreateUpdateSqlForCSharp(DatabaseTable model)
        {
            String sql = "update {0} set {1} where {0}Id=@{0}Id";

            DatabaseFiled[] arr = new DatabaseFiled[model.Fileds.Count];
            model.Fileds.CopyTo(arr);//防止破坏模型数据
            List <DatabaseFiled> list = arr.ToList();

            list.RemoveAll(a => a.Name == (model.Name + "Id")); //数据库设计规范,主键为表名+Id
            list.RemoveAll(a => a.Name == "CreateTime");        //数据库设计规范,每张表必有CreateTime字段
            list.RemoveAll(a => a.Name == "UpdateTime");        //数据库设计规范,UpdateTime,并且字段有默认时间戳
            IEnumerable <String> filedNames = list.Select(x => x.Name = (x.Name + "=@" + x.Name));
            String fileds = String.Join(",", filedNames);

            sql = String.Format(sql, model.Name, fileds);//传值变量需要满足Dapper的要求变量名和类属性名一致
            return(sql);
        }
Пример #4
0
        private String CreateInsertSqlForJava(DatabaseTable model)
        {
            String sql = "insert into {0}({1}) values({2});";//由于采用String.Join方法,多出一个@作为",@"分隔符方式的补充

            DatabaseFiled[] arr = new DatabaseFiled[model.Fileds.Count];
            model.Fileds.CopyTo(arr);//防止破坏模型数据
            List <DatabaseFiled> list = arr.ToList();

            list.RemoveAll(a => a.Name == (ParseName(model.Name) + "Id")); //数据库设计规范,主键为表名+Id
            list.RemoveAll(a => a.Name == "createTime");                   //数据库设计规范,每张表必有createTime字段并且字段有默认数值
            list.RemoveAll(a => a.Name == "updateTime");                   //数据库设计规范,updateTime
            IEnumerable <String> filedNames = list.Select(x => x.Name);
            IEnumerable <String> values     = list.Select(x => ("#{" + ParseName(model.Name) + "." + x.Name + "}"));
            String fileds = String.Join(",", filedNames);

            sql = String.Format(sql, model.Name, fileds, String.Join(",", values));//传值变量需要满足mybatis的具名要求变量名和类属性名一致
            return(sql);
        }