V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Oathbinder
V2EX  ›  Java

如何更省事地用 Java 写一个命令行交互的 CRUD 应用

  •  
  •   Oathbinder · Oct 7, 2018 · 5350 views
    This topic created in 2759 days ago, the information mentioned may be changed or developed.

    有个 project 是一个 10 多张表的信息系统的 CRUD,纯命令行交互,直接上手写还是用 Spring Boot ?这个主要关系到用不用 JPA。另外命令行交互需要用 Spring Shell 吗? Java 写的不多求指导

    Supplement 1  ·  Oct 7, 2018
    不是我不想用其他语言,是只能用 Java
    25 replies    2018-10-08 15:17:18 +08:00
    mrsatangel
        1
    mrsatangel  
       Oct 7, 2018 via iPhone
    jcommander+mybatis
    godoway
        2
    godoway  
       Oct 7, 2018 via Android
    同觉得 jcommander 就行,spring shell 好重
    另外比起 mybatis 这种用 jooq 会舒服一点
    lhx2008
        3
    lhx2008  
       Oct 7, 2018 via Android
    是的,boot,jpa 和 shell
    gowk
        4
    gowk  
       Oct 7, 2018 via Android
    其实吧,倒不如用 Go 省事,来的简单
    shakespaces
        5
    shakespaces  
       Oct 7, 2018 via Android
    @gowk 这就属于跑题了😂
    Oathbinder
        6
    Oathbinder  
    OP
       Oct 7, 2018
    @gowk 要求 Java+Oracle 所以就没办法了,如果不要求 Java 我就用.NET Core+SQL Server 了
    @godoway 实际上输入的也用不着去 parse,就是输入 1234 abcd enter your name 这种,所以是不是 jcommander 都用不着了
    gowk
        7
    gowk  
       Oct 7, 2018
    既然非要用 Java,那就用 Spring Boot + Spring JDBC Template 来做,简单实用
    godoway
        8
    godoway  
       Oct 7, 2018 via Android
    @Oathbinder jcommander 方便拿参数,毕竟参数顺序可变。
    Oathbinder
        9
    Oathbinder  
    OP
       Oct 7, 2018
    @godoway 我的意思是每次的输入要么是 1234 这种序号,要么是一个字符串,不会出现一次性输入多个字符串的情况
    passerbytiny
        10
    passerbytiny  
       Oct 7, 2018
    命令行交互 CRUD,这是在故意整人吗。这种事,老老实实交给 SQL 加脚本去做,用任何语言做,都是坑。
    godoway
        11
    godoway  
       Oct 7, 2018 via Android
    @Oathbinder 那可以不用呀,怎么省事怎么来
    Oathbinder
        12
    Oathbinder  
    OP
       Oct 7, 2018
    @passerbytiny 因为这就是个 CLI App 啊
    xuanbg
        13
    xuanbg  
       Oct 7, 2018
    直接登录数据库不就行了?要个毛线工具 APP
    OpenJerry
        14
    OpenJerry  
       Oct 7, 2018 via Android
    @xuanbg 因为不是每个人都会用数据库?
    Cbdy
        15
    Cbdy  
       Oct 7, 2018
    给用户装一个 DataGrip
    liyuanba
        16
    liyuanba  
       Oct 7, 2018
    cli app go 最合适
    glues
        17
    glues  
       Oct 7, 2018
    用 Java 写命令行,还想省事?
    Oathbinder
        18
    Oathbinder  
    OP
       Oct 7, 2018
    @glues 我知道 Java 的 CLI 神坑,我也没办法啊,这不是找个相对简单的办法
    qfdk
        19
    qfdk  
    PRO
       Oct 7, 2018 via iPhone
    jhipster 全是你的要求了
    qfdk
        20
    qfdk  
    PRO
       Oct 7, 2018 via iPhone
    顺便送个界面 不喜欢 ? 没关系 bash ➕ curl 反正有 swagger
    每个表四个 curl 的 link 那就直接 bash 调用就好了 别费脑子了
    TommyLemon
        21
    TommyLemon  
       Oct 8, 2018
    10 几张表,客户端还是命令行交互,看样子这需求挺简单的。
    直接 客户端命令行用 CURL + 服务端用 APIJSON (基于 SpringBoot,不用写接口和文档了,全自动化搞定)

    创作不易,GitHub 右上角点 Star 支持下吧,谢谢^_^
    https://github.com/TommyLemon/APIJSON
    y835L9DyC5XD09kq
        22
    y835L9DyC5XD09kq  
       Oct 8, 2018
    我用 Go 写过一个
    Oathbinder
        23
    Oathbinder  
    OP
       Oct 8, 2018
    @TommyLemon 这样的话交互就得拿 bash 做了,而且还要在 bash 里面处理 json,这个也不会比 Java CLI 省事吧
    TommyLemon
        24
    TommyLemon  
       Oct 8, 2018
    @Oathbinder
    可以用这个 Python 工具,支持直接在 CMD 里命令行发请求
    https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Python
    catinred
        25
    catinred  
       Oct 8, 2018
    @Oathbinder shell 处理 json 可以用 jq
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2996 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 15:16 · PVG 23:16 · LAX 08:16 · JFK 11:16
    ♥ Do have faith in what you're doing.