使用Sql语句快速将数据表转换成实体类

Posted 盆古开天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Sql语句快速将数据表转换成实体类相关的知识,希望对你有一定的参考价值。

开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行‘TableName‘引号里面的字母换成具体的表名称就行了:

declare @TableName sysname = TableName
declare @Result varchar(max) = public class  + @TableName + 
{

select @Result = @Result + 
    public  + ColumnType + NullableSign +   + ColumnName +  { get; set; }

from
(
    select 
        replace(col.name,  , _) ColumnName,
        column_id ColumnId,
        case typ.name 
            when bigint then long
            when binary then byte[]
            when bit then bool
            when char then string
            when date then DateTime
            when datetime then DateTime
            when datetime2 then DateTime
            when datetimeoffset then DateTimeOffset
            when decimal then decimal
            when float then float
            when image then byte[]
            when int then int
            when money then decimal
            when nchar then string
            when ntext then string
            when numeric then decimal
            when nvarchar then string
            when real then double
            when smalldatetime then DateTime
            when smallint then short
            when smallmoney then decimal
            when text then string
            when time then TimeSpan
            when timestamp then DateTime
            when tinyint then byte
            when uniqueidentifier then Guid
            when varbinary then byte[]
            when varchar then string
            else UNKNOWN_ + typ.name
        end ColumnType,
        case 
            when col.is_nullable = 1 and typ.name in (bigint, bit, date, datetime, datetime2, datetimeoffset, decimal, float, int, money, numeric, real, smalldatetime, smallint, smallmoney, time, tinyint, uniqueidentifier) 
            then ? 
            else ‘‘ 
        end NullableSign
    from sys.columns col
        join sys.types typ on
            col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
    where object_id = object_id(@TableName)
) t
order by ColumnId

set @Result = @Result  + 
}

print @Result

 

以上是关于使用Sql语句快速将数据表转换成实体类的主要内容,如果未能解决你的问题,请参考以下文章

Java代码实体类生成SQL语句(Java实体类转数据库)

把下面查询语句的在java中转换成sql语句,求助。

如何把ORACLE数据库BLOB类型转换成SQL的TEXT类型。

数据库decimal映射BigDecimal类型出错

hibernate sql查询后对象转换成实体类

将JSON数据转换成Java的实体类