Developer tools
Overview
- textbox ด้านบนเป็น command เรียกคำสั่ง
- textArea ด้านล่างเป็น input ข้อมูล และ output ข้อมูล
Showcase
showcase 1 สร้าง Bean จาก Attribute ใน textArea ใส่
personId
personName
createUserDate
ใน textbox command พิมพ์ AttributePerLine=>Entity|Bean
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์ เป็นการสร้าง Bean จาก Attribute ที่ใส่ลงไป
ทดสอบอีกครั้ง ใน textArea ใส่
personId
personName
createUserDate String
ทำการใส่ String ไว้หลัง createUserDate เพื่อบอกว่า ให้กำหนด createUserDate ให้มี type เป็น String
ใน textbox command พิมพ์ AttributePerLine=>Entity|Bean
แล้วกด Enter ใช้สั่ง run command
showcase 2 สร้าง parseEntity จาก Entity
ใน textArea ใส่
class TabTDivision {
private String unitId;
private String unitAbb;
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public String getUnitId() {
return this.unitId;
}
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public void setUnitId(String unitId) {
this.unitId = unitId;
}
@Column(name = "UNIT_ABB", length = 100)
public String getUnitAbb() {
return this.unitAbb;
}
public void setUnitAbb(String unitAbb) {
this.unitAbb = unitAbb;
}
}
ใน textbox command พิมพ์ Entity|AttributePerLine=>ParseEntity
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์
NullAwareJsonObjectBuilder.create()
.add("unitId",tabTDivision.getUnitId())
.add("unitAbb",tabTDivision.getUnitAbb())
.build();
showcase 3 ถอด ใส่ StringBuilder.append ให้กับ String ใน textArea ใส่
final StringBuilder sql = new StringBuilder(107);
sql.append(" SELECT R.RECEIVE_ID ");
sql.append(" FROM FI_RECEIVE R JOIN FI_RECEIVE_ITEM RI ON RI.RECEIVE_ID = R.RECEIVE ");
กดปุ่ม StringAppend เพื่อถอด StringBuilder.append ผลลัพธ์
SELECT
R.RECEIVE_ID
FROM
FI_RECEIVE R
JOIN FI_RECEIVE_ITEM RI ON RI.RECEIVE_ID = R.RECEIVE
กดปุ่ม StringAppend เพื่อใส่ StringBuilder.append พร้อมใส่ capacity
showcase 4 ทำ copy ระหว่าง Bean สองตัว
ใน textArea ใส่
package th.go.djop.entity;
class TabTCourseDivision{
private String unitId;
private String unitAbb;
private String unitCode;
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public String getUnitId() {
return this.unitId;
}
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public void setUnitId(String unitId) {
this.unitId = unitId;
}
@Column(name = "UNIT_ABB", length = 100)
public String getUnitAbb() {
return this.unitAbb;
}
public void setUnitAbb(String unitAbb) {
this.unitAbb = unitAbb;
}
@Column(name = "UNIT_CODE")
public String getUnitCode(){
return this.unitCode;
}
public void setUnitCode(String unitCode){
this.unitCode=unitCode;
}
}
package th.go.djop.entity;
class TabTDivision {
private String unitId;
private String unitAbb;
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public String getUnitId() {
return this.unitId;
}
@Column(name = "UNIT_ID", unique = true, nullable = false, length = 6)
public void setUnitId(String unitId) {
this.unitId = unitId;
}
@Column(name = "UNIT_ABB", length = 100)
public String getUnitAbb() {
return this.unitAbb;
}
public void setUnitAbb(String unitAbb) {
this.unitAbb = unitAbb;
}
}
สังเกตว่า ใน textArea มีสอง class
class บนเป็น class ตั้งต้น(source) class ด้านล่างเป็น classตัวรับถ่ายค่า(destination)
ใน textbox command พิมพ์ TwoClass|AttributePerLine=>CopyAttributesStatement
แล้วกด Enter ใช้สั่ง run command
ถ้าขึ้น popup เบื้องต้นยังไม่ต้องกำหนดอะไร กด Enter ต่อไป สังเกตผลลัพธ์
ผลลัพธ์จะสร้าง method copy ให้ และมี comment ว่า attribute ไหนที่ไม่ตรงกัน
showcase 5 สร้าง Bean จาก SQL
ใน textArea ใส่
SELECT
R.RECEIVE_ID,
T.*
FROM
FI_RECEIVE R
JOIN FI_RECEIVE_ITEM RI ON RI.RECEIVE_ID = R.RECEIVE
JOIN (
SELECT TRANSFER_ID,
TRANSFER_CODE
FROM SH_TRANSFER
) T
ใน textbox command พิมพ์ SQLQuery=>OutputColumnName=>OutputColumnName
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์
RECEIVE_ID
TRANSFER_ID
TRANSFER_CODE
ใน textbox command พิมพ์ AttributePerLine=>Entity|Bean
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์ได้ Bean จาก SQL
showcase 6 สร้างเงื่อนไขต่อ String กับ Where condition ของ SQL สมมุติเรามี SQL
SELECT
R.RECEIVE_ID,
T.*
FROM
FI_RECEIVE R
JOIN FI_RECEIVE_ITEM RI ON RI.RECEIVE_ID = R.RECEIVE
JOIN (
SELECT TRANSFER_ID,
TRANSFER_CODE
FROM SH_TRANSFER
) T
WHERE T.TRANSFER_ID = :transferId
AND T.TRANSFER_CODE LIKE :transferCode||'%'
AND R.RECEIVE_CODE LIKE :receiveCode||'%'
ตัดแต่ตรงส่วน Where condition มาใส่ใน textArea ดังนี้
T.TRANSFER_ID = :transferId
AND T.TRANSFER_CODE LIKE :transferCode||'%'
AND R.RECEIVE_CODE LIKE :receiveCode||'%'
ใน textbox command พิมพ์ (SQLQuery=>OutputColumnName)WhereCondition=>WhereConditionWithStringAppend
แล้วกด Enter ใช้สั่ง run command
ถ้าขึ้น popup ให้ใส่ชื่อ bean ลงไป
ผลลัพธ์ ได้ if เพื่อต่อ StringBuilder
if(null!=criteria.getTransferId()){
sql.append(" AND T.TRANSFER_ID = :transferId");
}
if(null!=criteria.getTransferCode()){
sql.append(" AND T.TRANSFER_CODE LIKE :transferCode||'%'");
}
if(null!=criteria.getReceiveCode()){
sql.append(" AND R.RECEIVE_CODE LIKE :receiveCode||'%'");
}
สามารถเปลี่ยนเป็น query.setParameter ได้
ใน textbox command พิมพ์WhereConditionWithStringAppend=>QuerySetParameters
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์
if(null!=criteria.getTransferId()){
query.setParameter("transferId",criteria.getTransferId());
}
if(null!=criteria.getTransferCode()){
query.setParameter("transferCode",criteria.getTransferCode());
}
if(null!=criteria.getReceiveCode()){
query.setParameter("receiveCode",criteria.getReceiveCode());
}
showcase 7 สร้าง query sum ด้วย query
ใน textArea ใส่
SELECT RECEIVE_ID,RECEIVE_ITEM_ID,AMOUNT FROM FI_RECEIVE_ITEM
ใน textbox command พิมพ์ SQLQuery=>OutputColumnName|AttributePerLine=>SumStatement
แล้วกด Enter ใช้สั่ง run command
ขึ้น popup ให้ใส่ column ที่ต้องการ GroupBy ใส่ receiveId หรือ RECEIVE_ID ลงไป
ผลลัพธ์
SELECT
RECEIVE_ID,
SUM(RECEIVE_ITEM_ID) AS SUM_RECEIVE_ITEM_ID,
SUM(AMOUNT) AS SUM_AMOUNT
FROM (
SELECT RECEIVE_ID,RECEIVE_ITEM_ID,AMOUNT FROM FI_RECEIVE_ITEM
)
GROUP BY
RECEIVE_ID
showcase 8 สร้าง Angular Model
สร้าง Angular Model จาก Entity ใน textArea ใส่
class example {
private Integer receiveId;
private String receiveName;
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "counter")
@Column(name = "RECEIVE_ID")
public Integer getReceiveId(){
return this.receiveId;
}
public void setReceiveId(Integer receiveId){
this.receiveId=receiveId;
}
@Column(name = "RECEIVE_NAME")
public String getReceiveName(){
return this.receiveName;
}
public void setReceiveName(String receiveName){
this.receiveName=receiveName;
}
}
ใน textbox command พิมพ์ Entity|Bean=>AngularModel
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์
receiveId?: number = null;
receiveName?: string = null;
สร้าง Angular Model จาก SQL Query
showcase 9 สร้าง pattern แปลง ResultList เป็น Bean
ใน textArea ใส่
SELECT T2.JVN_ID, T6.TITLE_NAME||T2.JVN_NAME|| ''||T2.JVN_SURNAME AS JVN_FULLNAME,T2.JVN_IDCARD
,MIN(T4.REGISTER_DATE)AS REGISTER_DATE
,T7.UNIT_NAME AS CM_UNIT_NAME
,T8.COUNT_CASE
,MIN(T4.JUDGMENT_DATE)AS JUDGMENT_DATE
,T3.MIN_RELEASE_DATE,T3.MAX_RELEASE_DATE,T2. TRST_JUVENILE_REF
FROM TRST_CONTROL_PLACE T1
INNER JOIN TRST_JUVENILE T2 ON T1.TRST_JUVENILE_REF=T2.TRST_JUVENILE_REF AND T1.RECIEVE_CONTROL_FLAG='1'
LEFT JOIN TRST_JUVENILE_RELEASE T3 ON T2.TRST_JUVENILE_REF=T3.TRST_JUVENILE_REF AND T3.RELEASE_STATUS='N'
JOIN TRST_JUDGMENT T4 ON T1.TRST_JUVENILE_REF=T4.TRST_JUVENILE_REF
LEFT JOIN TABT_ALLEGATION T5 ON T4.ALLEGATION_CODE = T5.ALLEGATION_CODE
LEFT JOIN TABT_TITLE T6 ON T2.TITLE_CODE=T6.TITLE_CODE
JOIN TABT_DIVISION T7 ON T1.UNIT_ID_CM=T7.UNIT_ID
JOIN
(SELECT COUNT(TRST_JUVENILE_REF)AS COUNT_CASE,TRST_JUVENILE_REF FROM TRST_JUDGMENT
GROUP BY TRST_JUVENILE_REF
)T8 ON T4.TRST_JUVENILE_REF=T8.TRST_JUVENILE_REF
WHERE 1=1
GROUP BY T2.JVN_ID, T6.TITLE_NAME||T2.JVN_NAME|| ''||T2.JVN_SURNAME,T2.JVN_IDCARD,T7.UNIT_NAME
,T3.MIN_RELEASE_DATE,T3.MAX_RELEASE_DATE,T2.TRST_JUVENILE_REF,T8.COUNT_CASE
ใน textbox command พิมพ์ Bean|SQLQuery|AttributePerLine=>AutoMappingResultListToEntity
แล้วกด Enter ใช้สั่ง run command
ผลลัพธ์
int index = 0;
entity.setJvnId(AutoMappingUtils.cast(r[index++], Integer.class));
entity.setJvnFullname(AutoMappingUtils.cast(r[index++], String.class));
entity.setJvnIdcard(AutoMappingUtils.cast(r[index++], String.class));
entity.setRegisterDate(AutoMappingUtils.cast(r[index++], Date.class));
entity.setCmUnitName(AutoMappingUtils.cast(r[index++], String.class));
entity.setCountCase(AutoMappingUtils.cast(r[index++], Integer.class));
entity.setJudgmentDate(AutoMappingUtils.cast(r[index++], Date.class));
entity.setMinReleaseDate(AutoMappingUtils.cast(r[index++], Date.class));
entity.setMaxReleaseDate(AutoMappingUtils.cast(r[index++], Date.class));
entity.setTrstJuvenileRef(AutoMappingUtils.cast(r[index++], .class));
update software version
ใน Folder กด run 'uptodate.bat'
โปรแกรมตรวจสอบ version ล่าสุดจาก git และดึง version ล่าสุดอัติโนมัติมาให้