🎨
Andy開發紀錄
  • 關於
    • 自介
  • 設計模式
    • 觀察者模型
    • 有限狀態機
    • 裝飾器模式
  • 其他
    • Scrum敏捷式開發
    • SOLID設計
    • TDD驅動測試開發
    • Event Driven Architecture
    • CQRS命令查詢職責分離
    • Concurrent並行相關
      • Single Thread Execution
      • 共用元件設計
        • CountDownLatchWorkPool
        • IForkWorkService
      • Pattern
        • THREAD-PER-MESSAGE
        • PRODUCER CONSUMER
        • SINGLE THREAD
        • Guarded Suspension 守衛模式
      • IQueue
        • ListQueue
        • BlockQueue
        • OrderBlockQueue
  • 元件設計
    • Sql Help
      • SQL Help Generate
      • StringBuilderGenerator
      • SQL Generate
    • excel工具
    • BDD行為驅動開發
    • 多工設計
      • 多工自動調整Thread數量
    • 常用Design Patten實作
    • Telegram Bot元件
    • 代碼元件
    • HCP API元件
    • 文字解析元件
    • MockitObject
    • 資料驗證元件
    • Zip壓縮工具
    • Sql Code Generate
  • 讀書心得
    • Clean code第一章
  • side project
    • 後端服務
  • IDEA
    • IDEA 外掛推薦
    • IDEA 外掛開發
Powered by GitBook
On this page
  • 目的
  • 產生程式項目
  • 展示

Was this helpful?

  1. 元件設計
  2. Sql Help

SQL Generate

支持原生SQL產生元件產生

目的

協助開發程式提供Sql產生對應程式,提升開發速度與品質

產生程式項目

  • PO 資料

  • Mapper 資料庫轉換物件

展示

    @Test
    void testNameWithIf() throws Exception {

        final String input = "select s.*,to_char(sysdate,'HH24') time, sysdate  " +
                "from syscode s \n"+
                "where 1=1 \n "+
                "<if test=\"option2_name\">and type_id=:type_id </if>\n";

        DriverManagerDataSource dataSource = getDriverManagerDataSource();

        Map<String, Object> map = new HashMap<>();
        map.put("type_id", "");

        SqlOption sqlOption = new SqlMapper().fromString(input);
        String sql = sqlOption.getSql();

        final NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
        namedParameterJdbcTemplate.query(sql, map, resultSet -> {
            IMapperCodeGenerate mapperCodeGenerate = new SqlCodeGenerate();
            CodeOption codeOption = new CodeOption();
            codeOption.setMapperPackage("io.github.h8000572003.mapper");
            codeOption.setPoPackage("io.github.h8000572003.domain");
            codeOption.setBase("./src/test/java");
            codeOption.setMapperSuffix("Mapper");
            codeOption.setName("Sample");
            codeOption.setPoSuffix("DTO");
            codeOption.setMemo("說明SQL:"+input);
            codeOption.setSql(input);
            codeOption.setSqlOption(sqlOption);
            codeOption.setResultSet(resultSet);
            mapperCodeGenerate.generateByResultSet(codeOption);
            return null;
        });


    }

PreviousStringBuilderGeneratorNextexcel工具

Last updated 2 years ago

Was this helpful?