npm install vue2-usoft-sqlbuilder
<template>
<sql-builder ref="sqlBuilder" :table-fetch="fetchTable"/>
</template>
<script lang="ts">
import {defineComponent} from 'vue'
import {SqlBuilder} from "./components";
import {TableInfo} from "./components/sqlbuilder/types";
const tables: TableInfo[] = [
{
comment: '***',
table: '***',
columns: [
{
comment: '***',
dataType: 'string',
name: '***'
},
{
comment: '***',
name: '***',
dataType: 'string'
}
]
},
]
export default defineComponent({
name: 'App',
components: {
SqlBuilder
},
methods: {
// 获取数据表结构
fetchTable() {
return new Promise((resolve, reject) => {
resolve(tables)
})
},
// 设置设计器数据
setData() {
this.queryFromDb().then(response => {
this.$refs.sqlBuilder.setData(response.data)
})
},
// 获取设计器数据
getData() {
this.$refs.sqlBuilder.getData().then(data => {
...
})
}
}
})
</script>
<dependency>
<groupId>com.usoft</groupId>
<artifactId>usoft-sqlbuilder-interpreter</artifactId>
<version>1.0.1</version>
</dependency>
String sql = SqlBuilder.build(json);