1. 程式人生 > >SQLSERVER表查詢欄位自動生成JavaBean類

SQLSERVER表查詢欄位自動生成JavaBean類

根據表字段,型別,註釋,自動生JavaBean,簡化開發;

注意以下幾點:

1.sqlserver中生成的結果用文字顯示:

2.最後貼上到程式碼中,Ctrl+Shift+F進行格式化;

3.java中可通過程式碼生成get,set方法:程式碼中右鍵》Source=>Generate Getter and Setter

4.C#通過選單中的操作,好像是“提取”,生成getset方法;

select '/**'+char(13)+char(10)  
+'*'+isnull(CONVERT(VARCHAR(100),g.value),'') + char(13)+char(10)  
+'*/'+char(13)+char(10)  
+'private '+  
case b.name when   
'int' then 'int'  
when 'varchar' then 'String'  
when 'nvarchar' then 'String'  
when 'text' then 'String'  
when 'float' then 'Double'  
when 'datetime' then 'Date' end  
+' '+lower(substring(a.name,1,1))+SUBSTRING(a.name,2,len(a.name)-1)--保持欄位名稱的原始大小寫則直接用a.name  
+';'+char(13)+char(10)+char(13)+char(10)  
--,b.name,a.max_length ,g.value,b.name,a.name  
from sys.columns a left join sys.types b on a.user_type_id=b.user_type_id   
left join sys.extended_properties g on a.object_id=g.major_id and a.column_id=g.minor_id  
where object_id=object_id('t_info_content') ;--其中t_party_study為表名 

生成C#的Model類則將註釋改下即可:

/****/改成///summary

select '/// <summary>'+char(13)+char(10)
+'/// '+isnull(CONVERT(VARCHAR(100),g.value),'') + char(13)+char(10)
+'/// <summary>'+char(13)+char(10)
+'private '+
case b.name when 
'int' then 'int'
when 'varchar' then 'String'
when 'float' then 'Double'
when 'datetime' then 'Date' end
+' '+lower(substring(a.name,1,1))+SUBSTRING(a.name,2,len(a.name)-1)--保持欄位名稱則直接用a.name
+';'+char(13)+char(10)+char(13)+char(10)
--,b.name,a.max_length ,g.value,b.name,a.name
from sys.columns a left join sys.types b on a.user_type_id=b.user_type_id 
left join sys.extended_properties g on a.object_id=g.major_id and a.column_id=g.minor_id
where object_id=object_id('t_party_study') ;


生成效果如下:

///<summary>
///唯一主鍵
///<summary>
private int Id;
///<summary>
///學員編號
///<summary>
private int UserId;
///<summary>
///課程編號
///<summary>
private int CourseId;
///<summary>
///課程狀態1.選課;2.學習中;3.完成;
///<summary>
private int Status;
///<summary>
///學習進度
///<summary>
private int Progress;
///<summary>
///選課時間
///<summary>
private date AddTime;
///<summary>
///學習時長
///<summary>
private Double StudyTime;
///<summary>
///考試時間
///<summary>
private Date ExamTime;
///<summary>
///考試成績
///<summary>
private Double ExamScore;
///<summary>
///刪除時間
///<summary>
private date DeleteTime;




相關推薦

SQLSERVER查詢自動生成JavaBean

根據表字段,型別,註釋,自動生JavaBean,簡化開發; 注意以下幾點: 1.sqlserver中生成的結果用文字顯示: 2.最後貼上到程式碼中,Ctrl+Shift+F進行格式化; 3.java中可通過程式碼生成get,set方法:程式碼中右鍵》Source=>G

sqlserver 分割槽-id分割槽案例

1,建立檔案組 USE [master] GO ALTER DATABASE [test] ADD FILEGROUP [Group1] GO ALTER DATABASE [test] ADD FILEGROUP [Group2] GO ALTER DATABASE [t

Hibernate使MySql TimeStamp自動生成CURRENT_TIMESTAMP日期時間

1.資料庫欄位設定為TimeStamp型別,並且預設值為CURRENT_TIMESTAMP,不允許為Null(這裡重要!); 2.到Hibernate註解裡把不允許為Null的nullable註解去掉,或者設為true; 如: @Column(name="Sub_Date"

Hibernate原生SQL多查詢名重複問題

Hibernate原生SQL查詢多表關聯,SQL語句要注意的問題 @for&ever 2009-9-4 系統環境: MySQL5.1 Hibernate3.3 有如下的假定: 實體類 Question 和 Answer分別對應資料表 question 和answ

SQLSERVER查詢整個資料庫中某個特定值所在的的方法

做專案中前些天要手動改資料庫中的一些欄位的值,但發現這個欄位可能會被資料庫中其他的很多張表引用,於是就得想辦法查詢出該條記錄的所有引用的表和欄位,下面的儲存過程可以查詢出整個資料庫中某個特定值所在的表和欄位。 ↓雙擊程式碼段選中複製↓注意修改資料型別xtype 1

JPA 通過註解自動生成 新增 名、型別、註釋

@Table - 對映表名 @Id - 主鍵 @GeneratedValue(strategy=GenerationType.IDENTITY) - 自動遞增生成 @Column(name = “dict_name”,columnDefinition=”varchar(100) COMMENT ‘字

oracle資料庫查詢某個資訊

(1)查詢整個資料庫所有表的欄位 select t.column_name from user_col_comments t;(一般建議去執行,因為資料庫表過多執行起來會非常的慢) (2)查詢特定表名的表字段 select t.column_name, t.column_name&nbs

sqlserver 獲取所有型別等資訊

USE [MultipleAnalysisDataFY] GO /****** Object: View [dbo].[selectfieldtype] Script Date: 2018/11/7 星期三 12:02:27 ******/ SET ANSI_NULLS ON GO SET

php mysql ajax 單多關鍵詞查詢

單表多欄位查詢在一些稍微複雜一點的查詢中十分有用。本文主要利用MySQL資料庫中的concat函式實現單表多欄位多關鍵詞查詢。並且顯示查詢結果的表格可根據所選資料表動態生成。 html程式碼 <!DOCTYPE html> <html> <h

查詢所有

SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序號, USER_TAB_COLS.COLUM

查詢某個被其他作為外來鍵

select c.table_name,         c.constraint_name,         fc.table_name,         fc.

SQLServer使用:型別

表的欄位型別: char: 固定長度,儲存ANSI字元,不足的補英文半形空格。 nchar: 固定長度,儲存Unicode字元,不足的補英文半形空格 varchar: 可變長度,儲存ANSI字元,根據資料長度自動變化。 nvarchar: 可變長度,儲存Unicode字元,根據資料長度自

ORACLE——在所有查詢某個字串並輸出名和

什麼都不想說,直接上乾貨 declare v_Sql varchar2(2000); v_count number; begin for xx in (select t.OWNER, t.TABLE_NAME, t.COLUMN_NAME from

mysql搜尋多模糊查詢

select parttime_job_business_assessments.*, u.nick_name, u.mobile, pj.name as job_name, b.name as business_name from `parttime_job_business_assess

查詢資料庫中某名和型別

mysql: 1. 查詢資料庫中的所有表:show tables; 2. 查詢表中的欄位名和欄位型別: show columns from table_name(表名);                 &n

讓myql中的資料庫自動生成javaBean的模板

不積跬步,無以至千里 問題所在 今天重構以前的程式碼,因為資料庫有比較大的改動,所以需要寫很多javaBean! 作為一個程式設計師,重複意味著沒有效率,更意味著無聊,一旦無聊便沒有想程式設計的慾望,程式碼質量肯定刷刷刷的下降,質量下降了就意味著重寫。。。。

MFC獲取SqlServer資料庫所有名、記錄資料

程式碼如下過程其實不是每一步都有,但是主要功能都在! //1、連線資料庫類 BOOL CSqlDlg::Ado(CString strConn) { ::CoInitialize(NULL); // 初始化OLE/COM庫環境 try { m_pConn.CreateInstan

mysql單一是多個id組成的字串,查詢方法

借鑑:mysql使用instr達到in(字串)的效果 結論:select * from 表名where INSTR(CONCAT(字串),CONCAT(表id)) 問題來源:一表中的某欄位是另一表的外

Oracle 根據查詢其所在的(只有值資訊,連型別都不知道)

今天一哥們求助,oracle的我只知道ziduan欄位的值,連型別,大小設定全都不知道,如何查詢到該欄位所在的表,以及該欄位名。以下是我編寫的實際指令碼: 1.假設該欄位是varchar2或者char型別 DECLARE CURSOR cur_hh IS SELECT tabl

mysql----查詢到A插入B

insert into 表名(欄位1,欄位2,欄位3) select 欄位1,欄位2,欄位3from 表名where … insert into user(id,username) select id,username from t_user where ...