专栏首页javafx框架tornadofxjavafx框架tornadofx批量生成桌面版CRUB程序
原创

javafx框架tornadofx批量生成桌面版CRUB程序

演示地址

javafx框架tornadofx批量生成桌面版CRUB程序,采用tornadofx制作界面,jfinal active record操作数据库,jfinal enjoy模板引擎生成相关代码,只演示了简单桌面版CRUB程序,更完善的程序需要对模板代码进行设计。

import java.sql.Connection
import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.SchemaUtils
import org.jetbrains.exposed.sql.StdOutSqlLogger
import org.jetbrains.exposed.sql.addLogger
import org.jetbrains.exposed.sql.transactions.transaction
import org.jetbrains.exposed.sql.transactions.TransactionManager
import tornadofx.*

class CRUD_GUI : App(MainTap::class){
var n=0
override fun init() {
if(n==0){
run{
newDb()
}
n+=1
}
        super.init()
    }
}

class MainTap() : View("CRUD_GUI") {

    override val root = tabpane {

        #for(v:views)
        tab("#(v)") {
            isClosable=false
            add(#(v)Editor())
        }
        #end
    }
}

// create db and table
fun newDb() {
    // "connect" a database file called data.sqlite in the current working directory
    // (creates the file if id does not exist)
    Database.connect("jdbc:sqlite:file:data.sqlite", driver = "org.sqlite.JDBC")
    // this isolation level is required for sqlite, may not be applicable to other DBMS
    TransactionManager.manager.defaultIsolationLevel = Connection.TRANSACTION_SERIALIZABLE

    transaction {
    addLogger(StdOutSqlLogger)
    // create the table
	#for(c:claLowName)
    SchemaUtils.create(#(c ??)zz)
	#end

    // add some entries
    ###(claUpName ??).new {
    ###for(col : cols)
    ###if(for.first)
    ###continue
    ###end
    ###(col.attrName ??) ="#(col.attrName ??)+#(for.index)"
    ###end
    ###}
    }

    // new transaction to check the results
    transaction {
        #(claUpName ??).all().forEach { println(it) }
    }
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • javafx框架tornadofx画个心形

    用户6167008
  • 来点学术的,求PI值动画

    用户6167008
  • 二维码生成小工具,采用javafx框架tornadofx实现界面开发

    用户6167008
  • WebService入门学习二

    答:为了在webservice请求过程中,能动态操作请求和响应数据,,CXF设计了拦截器。

    别先生
  • Apache CollectionUtils使用指南

    对集合判定‘空’的操作使用Apache的commons-collection的工具包。

    白凡
  • 8.4 Spring Boot集成Kotlin混合Java开发

    本章介绍Spring Boot集成Kotlin混合Java开发一个完整的spring boot应用:Restfeel,一个企业级的Rest API接口测试平台(...

    一个会写诗的程序员
  • 风骚的操作:区块链监控个人账户即时在线充值

    在区块链的世界里,常常很多时候用户需要充值,要不拉起钱包,要不支付到某个特定账号,这个时候可以监控合约交易记录实现实时到账,有的时候上某些网站的时候,至于是哪些...

    肉眼品世界
  • 使用nodejs和Java访问远程服务器的服务

    既然这篇文章用的是nodejs和Java访问远程服务器的服务,那么咱们先用另一门编程语言,SAP的ABAP(我日常工作使用得最多的编程语言)来开发一个服务吧。

    Jerry Wang
  • 常见加密算法之单向加密

    在接口测试过程中,常常会遇到加密算法,今天主要说说一下单向散列加密的4种算法。

    用户5521279
  • SpringBoot基础(三、整合Mybatis、Redis)

    我们以前使用SSM的时候,使用Mybatis是需要各种配置文件、实体类、Dao层的各种映射关系,虽然可以使用注解减少这些配置信息,但还是有好多东西需要配置,自从...

    营琪

扫码关注云+社区

领取腾讯云代金券