Sql Server 根据数据库表设计说明生成Java实体类属性

  最近需要整理出SqlServer上库的数据字典。刚开始慢慢整理很耗时,后面网上搜索到了生成数据字典的SQL,试过之后发现果然很强大,后面在开发新功能时,忽然生了一个念头,于是便调整一下,决定使用生成数据字典的语句,生成Java中实体Bean的属性。

 1 SELECT 
 2   a.name AS 字段名,
 3   b.name AS 类型,
 4   isnull(g.[value],'') AS 字段说明,
 5   CONVERT(VARCHAR(100),a.name) AS colname,
 6   CONVERT(VARCHAR(100),b.name) AS typedoc,
 7   CONCAT('    private ',    
 8     CASE CONVERT(VARCHAR(100),b.name)
 9         WHEN 'varchar' THEN 'String'
10         WHEN 'nvarchar' THEN 'String'
11         WHEN 'int' THEN 'int'
12         WHEN 'bigint' THEN 'Long'
13         WHEN 'datetime' THEN 'Date'
14     ELSE 'String' END,' ',
15     CONVERT(VARCHAR(100),a.name),';  //',    
16     CONVERT(VARCHAR(100),isnull(g.[value],''))) AS  java
17   FROM   syscolumns   a   
18   left   join   systypes   b   on   a.xtype=b.xusertype   
19   inner   join   sysobjects   d   on   a.id=d.id     and   d.xtype='U'   and     d.name<>'dtproperties'   
20   left   join   syscomments   e   on   a.cdefault=e.id   
21   left   join   sys.extended_properties g   on   a.id=g.major_id   and   a.colid=g.minor_id          
22   left   join   sys.extended_properties f   on   d.id=f.major_id   and   f.minor_id   =0   
23   --where   d.name='tablename' --如果只查询指定表,加上此条件   
24   order   by   a.id,a.colorder  

 

转载于:https://www.cnblogs.com/shangjc/p/9646312.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 首先需要在项目中引入mybatis-generator插件,可以在pom.xml文件中添加以下代码: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 2. 然后需要在项目中配置generatorConfig.xml文件,该文件可以在项目中新建一个文件夹,命名为generator,在该文件夹下新建generatorConfig.xml文件。以下是一个简单的配置文件示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="DB2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://localhost:1433;databaseName=mydb" userId="sa" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <table tableName="user" domainObjectName="User" /> </context> </generatorConfiguration> ``` 其中,需要注意以下几点: - jdbcConnection中需要配置数据库连接信息,包括驱动类、连接地址、用户名和密码; - javaModelGenerator中的targetPackage属性指定生成实体类所在的包名,targetProject属性指定生成实体类所在的目录; - sqlMapGenerator中的targetPackage属性指定生成的Mapper接口所在的包名,targetProject属性指定生成的Mapper.xml文件所在的目录; - javaClientGenerator中的targetPackage属性和targetProject属性sqlMapGenerator相同; - table标签中的tableName属性指定需要生成实体类和Mapper接口的名,domainObjectName属性指定生成实体类名称。 3. 在项目中运行mybatis-generator插件,执行以下命令: ```bash mvn mybatis-generator:generate ``` 4. 执行完成后,在指定的目录下就可以看到生成实体类和Mapper接口。如果需要使用生成实体类和Mapper接口,可以在SpringBoot中使用@MapperScan注解扫描Mapper接口所在的包,然后在具体的服务中注入Mapper接口使用。 注:上述配置文件中,示例使用的是SQLServer数据库,如果需要连接其他数据库,需要修改jdbcConnection中的驱动类和连接地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值