国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA - PO DTO 生成器

這篇具有很好參考價值的文章主要介紹了JAVA - PO DTO 生成器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

PO DTO 生成器

假設(shè)你是一個Java 高級程序員,我會提供一些信息,你需要幫我自動生成Java的PO、DTO 對象。
這些信息有著固定的形式,第一行是對象的類名,其后的每一行都是該對象的屬性(簡稱“屬性”)。
對于我屬性,格式可能是小駝峰的形式,可能是全大寫命名法的格式,我需要你自動幫我轉(zhuǎn)換成小駝峰的格式。
其中生成的PO對象中,每個屬性需要加上注解@Column,該注解是Mybatis的注解。該注解的值對應(yīng)的是屬性的全大寫命名法的格式。
以下我會舉個例子幫助你理解我的預(yù)期結(jié)果。

User
id
name
batchName

生成的PO對象如下:

public class UserPO{
	@Column("ID")
	private String id;
	
	@Column("NAME")
	private String name;

	@Column("BATCH_NAME")
	private String batchName;
}

生成的DTO對象如下:

public class UserDto{
	private String id;
	
	private String name;

	private String batchName;
}

測試集

Student
id
name
sex
grade
teacherName


Teacher
id
name
subject
studentCount

PO,DTO生成器-Java代碼版本

import java.util.ArrayList;  
import java.util.List;  
import java.util.Scanner;  
  
public class JavaCodeGenerator {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
        // Read the class name  
        String className = scanner.nextLine().trim();  
  
        // Read the properties  
        List<String> properties = new ArrayList<>();  
        while (scanner.hasNextLine()) {  
            String property = scanner.nextLine().trim();  
            if (property.isEmpty()) {  
                break;  
            }  
            properties.add(property);  
        }  
  
        // Generate PO class  
        System.out.println("public class " + className + "PO {");  
        for (String property : properties) {  
            String columnName = toUpperCaseSnakeCase(property);  
            System.out.println("\t@Column(\"" + columnName + "\")");  
            System.out.println("\tprivate String " + property + ";");  
            System.out.println();  
        }  
        System.out.println("}");  
        System.out.println();  
  
        // Generate DTO class  
        System.out.println("public class " + className + "Dto {");  
        for (String property : properties) {  
            System.out.println("\tprivate String " + property + ";");  
        }  
        System.out.println("}");  
    }  
  
    private static String toUpperCaseSnakeCase(String property) {  
        StringBuilder sb = new StringBuilder();  
        for (int i = 0; i < property.length(); i++) {  
            char c = property.charAt(i);  
            if (Character.isUpperCase(c)) {  
                sb.append("_").append(c);  
            } else {  
                sb.append(Character.toUpperCase(c));  
            }  
        }        return sb.toString();  
    }  
}

PO DTO 生成器-html、js版本

把上面的java版本,改成js版本,需要一個html頁面,該頁面需要2個文本框,一個按鈕,一個文本框輸入用戶輸入的內(nèi)容,第二個文本框生成PO、DTO對象文章來源地址http://www.zghlxwxcb.cn/news/detail-690334.html

<!DOCTYPE html>
<html>

<head>
    <title>Java PO/DTO Generator</title>
</head>

<body>
    <h1>Java Code Generator</h1> <label for="className">Class Name:</label> <input type="text" id="className"><br><br>
    <label for="properties">Properties:</label> <textarea id="properties" rows="5" cols="30"></textarea><br><br> <button
        onclick="generateCode()">Generate Code</button><br><br> <label for="poCode">PO Code:</label> <textarea
        id="poCode" rows="10" cols="50" readonly></textarea><br><br> <label for="dtoCode">DTO Code:</label> <textarea
        id="dtoCode" rows="10" cols="50" readonly></textarea>
</body>


<script> 

    function generateCode() { 
            // Read input values 
            var className = document.getElementById("className").value.trim(); 
            var propertiesInput = document.getElementById("properties").value.trim();
            // Split properties by newline
            var properties = propertiesInput.split("\n");

            // Generate PO class
            var poCode = "public class " + className + "PO {\n";
            for (var i = 0; i < properties.length; i++) {
                var property = properties[i].trim();
                var columnName = toUpperCaseSnakeCase(property);
                poCode += "\t@Column(\"" + columnName + "\")\n";
                poCode += "\tprivate String " + property + ";\n\n";
            }
            poCode += "}";

            // Generate DTO class
            var dtoCode = "public class " + className + "DTO {\n";
            for (var i = 0; i < properties.length; i++) {
                var property = properties[i].trim();
                dtoCode += "\tprivate String " + property + ";\n";
            }
            dtoCode += "}";

            // Update output text areas
            document.getElementById("poCode").value = poCode;
            document.getElementById("dtoCode").value = dtoCode;
        }

        function toUpperCaseSnakeCase(property) {
            var snakeCase = "";
            for (var i = 0; i < property.length; i++) {
                var char = property.charAt(i);
                if (char === char.toUpperCase()) {
                    snakeCase += "_" + char;
                } else {
                    snakeCase += char.toUpperCase();
                }
            }
            return snakeCase;
        }
    </script>
</html>

到了這里,關(guān)于JAVA - PO DTO 生成器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 拿來就用的Java海報生成器ImageCombiner(一)

    拿來就用的Java海報生成器ImageCombiner(一)

    如果您是UI美工大師或者PS大牛,那本文一定不適合你;如果當您需要自己做一張海報時,可以立馬有小伙伴幫您實現(xiàn),那本文大概率也不適合你。但是,如果你跟我一樣,遇上到以下場景,最近公司上了不少傳播方面的需求,需要合成各種營銷圖片。人事部和辦公室的小伙伴

    2024年01月17日
    瀏覽(23)
  • 實現(xiàn)高性能ID生成器:詳解Java雪花算法

    Java中的雪花算法(Snowflake Algorithm)是一種用于生成唯一ID的算法,可以在分布式系統(tǒng)環(huán)境中防止ID重復。這種算法最初由Twitter開發(fā),用于生成Twitter的唯一ID,由于其簡單易懂和高效,已成為目前最常用的生成唯一ID的算法之一。 雪花算法生成的ID是一個64位的長整型數(shù)字,可

    2023年04月27日
    瀏覽(18)
  • Selenium+Java+Maven(12):引入Allure作為報告生成器

    Selenium+Java+Maven(12):引入Allure作為報告生成器

    本篇作為Selenium+Java系列的補充,講了如何使用Allure作為測試報告生成器,來替代TestNG自帶的測試報告或ReportNG測試報告,生成更加美觀的(領(lǐng)導更喜歡的)測試報表。話不多說,一起來學習吧~ 【1】安裝及環(huán)境變量配置 需要先在本機安裝一個Allure,并配置好環(huán)境變量。 下載

    2024年02月07日
    瀏覽(17)
  • 開箱即用輕量級雪花算法id生成器Java工具類

    在 Java后端研發(fā)過程中,對于分布式微服務(wù)來說,一般需要分布式 id生成. 這里分享一個非常好用且大多數(shù)情況下都可用的開箱即用輕量級雪花算法id生成器Java工具類。 這種方式生成的雪花算法生成器生成的唯一主鍵id,好處是不依賴第三方組件,輕量級,缺點是服務(wù)器的時鐘

    2024年02月07日
    瀏覽(20)
  • java之VO,BO,PO,DO,DTO

    java之VO,BO,PO,DO,DTO

    2024年02月19日
    瀏覽(23)
  • Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    引用官方文檔上的簡介: 提供交互式的Web UI用于生成兼容mybatis-plus框架的相關(guān)功能代碼,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定義模板以及各類輸出參數(shù),也可通過SQL查詢語句直接生成代碼。 文檔 github: https://github.com/davidfantasy/mybatis-plus-generator-ui gitee: https://g

    2024年02月10日
    瀏覽(24)
  • Java:PO、VO、BO、DO、DAO、DTO、POJO

    Java:PO、VO、BO、DO、DAO、DTO、POJO

    ??wei_shuo的個人主頁 ??wei_shuo的學習社區(qū) ??Hello World ! PO是持久化對象,用于表示數(shù)據(jù)庫中的實體或表的映射 通常與數(shù)據(jù)庫表的結(jié)構(gòu)和字段對應(yīng) PO的屬性對應(yīng)數(shù)據(jù)庫表的字段,可以進行持久化操作(存儲、讀取、更新、刪除) VO是值對象,用于封裝數(shù)據(jù) 通常是不可變的,

    2024年02月12日
    瀏覽(49)
  • 基于Velocity開發(fā)代碼生成器

    基于Velocity開發(fā)代碼生成器

    一、引言 在項目開發(fā)中,我們有碰到大量的簡單、重復的增刪改查需求,通過閱讀 若依 框架https://github.com/yangzongzhuan/RuoYi?的代碼生成器實現(xiàn),結(jié)合我項目所用的技術(shù)棧,開發(fā)出本項目的代碼生成器。 二、Velocity?簡單介紹 1、Velocity是一個基于Java的模板引擎,我們可以往C

    2024年02月15日
    瀏覽(89)
  • OpenAI的語言生成器GPT-3受到了廣泛關(guān)注。

    OpenAI,一家由Peter Thiel、Elon Musk、Reid Hoffman、Marc Benioff和Sam Altman等知名人士支持的非營利人工智能研究公司,最近發(fā)布了其第三代語言預(yù)測模型GPT-3。GPT-3的發(fā)布受到了早期用戶的高度關(guān)注。 GPT-3是有史以來最大的語言模型,能夠生成在許多情況下與人類文本難以區(qū)分的文本。

    2024年03月20日
    瀏覽(17)
  • 使用這些.NET代碼生成器,開發(fā)效率飆升

    在.NET開發(fā)過程中,可以使用一些輔助的代碼生成器來提高開發(fā)效率,之前在.NET FW時代有國產(chǎn)的“動軟代碼生成器”,現(xiàn)在早已不維護了。下面介紹幾種.NET碼生成器,供大家參考使用。最后一個代碼生產(chǎn)器絕對優(yōu)秀,推薦使用。 T4 Text Template Generator: 簡介:T4是.NET框架提供的

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包