From c3b3aa366a4bc4396fe09cba6a28c923aa35ebec Mon Sep 17 00:00:00 2001 From: teddyhuang Date: Tue, 23 Feb 2021 13:02:03 +0800 Subject: [PATCH] 02/23 13:00 --- .gitignore | 2 + app/.idea/.gitignore | 2 + app/package-lock.json | 160 ++++++++-------- app/package.json | 2 +- app/public/index.html | 2 + app/src/App.vue | 46 ++++- app/src/components/AssetGroup.vue | 201 +++++++++++++++++++++ app/src/components/FileAndData.vue | 8 + app/src/components/Hardware.vue | 153 ++++++++++++++++ app/src/components/Home.vue | 154 ++++++++++++++++ app/src/components/Login.vue | 126 ++++++++++++- app/src/components/Person.vue | 8 + app/src/components/Software.vue | 8 + app/src/main.js | 6 +- app/src/plugins/axios.js | 4 +- app/src/router/index.js | 58 ++++-- pom.xml | 15 ++ src/main/java/com/moze/rms/RmsApplication.java | 3 +- src/main/java/com/moze/rms/config/JdbiFactory.java | 55 ++++++ .../moze/rms/controller/HardwareController.java | 23 +++ .../java/com/moze/rms/controller/JsonResult.java | 19 ++ .../java/com/moze/rms/controller/StatusCode.java | 55 ++++++ src/main/java/com/moze/rms/dao/HardwareDAO.java | 18 ++ .../java/com/moze/rms/entity/model/Hardware.java | 23 +++ src/main/resources/application-dev.properties | 8 +- src/main/resources/application-pro.properties | 6 +- 26 files changed, 1046 insertions(+), 119 deletions(-) create mode 100644 app/.idea/.gitignore create mode 100644 app/src/components/AssetGroup.vue create mode 100644 app/src/components/FileAndData.vue create mode 100644 app/src/components/Hardware.vue create mode 100644 app/src/components/Person.vue create mode 100644 app/src/components/Software.vue create mode 100644 src/main/java/com/moze/rms/config/JdbiFactory.java create mode 100644 src/main/java/com/moze/rms/controller/HardwareController.java create mode 100644 src/main/java/com/moze/rms/controller/JsonResult.java create mode 100644 src/main/java/com/moze/rms/controller/StatusCode.java create mode 100644 src/main/java/com/moze/rms/dao/HardwareDAO.java create mode 100644 src/main/java/com/moze/rms/entity/model/Hardware.java diff --git a/.gitignore b/.gitignore index 896d5c0..0c74397 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /.idea/ /src/main/resources/public/ /target/ +/rms.iml +/app/node_modules/ diff --git a/app/.idea/.gitignore b/app/.idea/.gitignore new file mode 100644 index 0000000..e7e9d11 --- /dev/null +++ b/app/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml diff --git a/app/package-lock.json b/app/package-lock.json index a38827e..4c29657 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1710,16 +1710,6 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "cacache": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", @@ -1752,34 +1742,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, "css-loader": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", @@ -1823,13 +1785,6 @@ } } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, "icss-utils": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", @@ -1839,18 +1794,6 @@ "postcss": "^7.0.14" } }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "postcss-modules-extract-imports": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", @@ -1914,16 +1857,6 @@ "minipass": "^3.1.1" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "terser-webpack-plugin": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", @@ -1940,18 +1873,6 @@ "terser": "^4.6.12", "webpack-sources": "^1.4.3" } - }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.1.2", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", - "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } } } }, @@ -11180,6 +11101,87 @@ } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "vue-router": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", diff --git a/app/package.json b/app/package.json index 5a81b7f..56d9d6f 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "serve": "vue-cli-service serve", + "serve": "vue-cli-service serve --port 3000", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, diff --git a/app/public/index.html b/app/public/index.html index 3e5a139..6702573 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -5,6 +5,8 @@ + + <%= htmlWebpackPlugin.options.title %> diff --git a/app/src/App.vue b/app/src/App.vue index cb403f4..e92298c 100644 --- a/app/src/App.vue +++ b/app/src/App.vue @@ -1,10 +1,44 @@ diff --git a/app/src/components/AssetGroup.vue b/app/src/components/AssetGroup.vue new file mode 100644 index 0000000..c0a3553 --- /dev/null +++ b/app/src/components/AssetGroup.vue @@ -0,0 +1,201 @@ + + diff --git a/app/src/components/FileAndData.vue b/app/src/components/FileAndData.vue new file mode 100644 index 0000000..3c5c7d7 --- /dev/null +++ b/app/src/components/FileAndData.vue @@ -0,0 +1,8 @@ + + diff --git a/app/src/components/Hardware.vue b/app/src/components/Hardware.vue new file mode 100644 index 0000000..2038360 --- /dev/null +++ b/app/src/components/Hardware.vue @@ -0,0 +1,153 @@ + + diff --git a/app/src/components/Home.vue b/app/src/components/Home.vue index e69de29..a7f349a 100644 --- a/app/src/components/Home.vue +++ b/app/src/components/Home.vue @@ -0,0 +1,154 @@ + + + diff --git a/app/src/components/Login.vue b/app/src/components/Login.vue index afeb6ba..416b1e6 100644 --- a/app/src/components/Login.vue +++ b/app/src/components/Login.vue @@ -1,10 +1,128 @@ diff --git a/app/src/components/Person.vue b/app/src/components/Person.vue new file mode 100644 index 0000000..3c5c7d7 --- /dev/null +++ b/app/src/components/Person.vue @@ -0,0 +1,8 @@ + + diff --git a/app/src/components/Software.vue b/app/src/components/Software.vue new file mode 100644 index 0000000..3c5c7d7 --- /dev/null +++ b/app/src/components/Software.vue @@ -0,0 +1,8 @@ + + diff --git a/app/src/main.js b/app/src/main.js index a9e1696..7804664 100644 --- a/app/src/main.js +++ b/app/src/main.js @@ -6,12 +6,12 @@ import router from './router/index' import axios from './plugins/axios' import vuetify from '@/plugins/vuetify' -Vue.config.productionTip = false +Vue.config.productionTip = false; +Vue.prototype.$axios = axios; new Vue({ router, - axios, vuetify, render: h => h(App), -}).$mount('#app') +}).$mount('#app'); diff --git a/app/src/plugins/axios.js b/app/src/plugins/axios.js index f4746ac..f7d79d5 100644 --- a/app/src/plugins/axios.js +++ b/app/src/plugins/axios.js @@ -2,11 +2,11 @@ import axios from 'axios'; //在開發環境中的測試 development if(process.env.NODE_ENV === 'development') { - axios.defaults.baseURL = '/' + axios.defaults.baseURL = '/api' } //在生產環境中的測試 production if(process.env.NODE_ENV === 'production') { - axios.defaults.baseURL = '/' + axios.defaults.baseURL = '/api' } axios.defaults.headers.post['Content-Type'] = 'charset=utf-8'; axios.defaults.headers.common.Pragma = 'no-cache'; diff --git a/app/src/router/index.js b/app/src/router/index.js index 5d3ef4d..04e9b55 100644 --- a/app/src/router/index.js +++ b/app/src/router/index.js @@ -1,29 +1,53 @@ import Vue from 'vue' import Router from 'vue-router' import Login from '@/components/Login' +import Home from "../components/Home"; +import AssetGroup from "../components/AssetGroup"; +import Hardware from "../components/Hardware"; +import Software from "../components/Software"; +import FileAndData from "../components/FileAndData"; +import Person from "../components/Person"; -Vue.use(Router) +Vue.use(Router); export const constantRoutes = [ { - path: '/', - alias: '/login', + path: '/login', + name: 'login', component: Login, }, - // { - // path: '/', - // component: , - // name: '', - // children: [ - // { - // path: '', - // component: () => import(''), - // name: '', - // meta: { - // }, - // }, - // ], - // }, + { + path: '/home', + component: Home, + name: 'home', + children: [ + { + path: '/asset_group', + name: 'asset_group', + component: AssetGroup + }, + { + path: '/hardware', + name: 'hardware', + component: Hardware + }, + { + path: '/software', + name: 'software', + component: Software + }, + { + path: '/fileAndData', + name: 'fileAndData', + component: FileAndData + }, + { + path: '/person', + name: 'person', + component: Person + }, + ] + } ]; export default new Router({ diff --git a/pom.xml b/pom.xml index 0531a48..11c0e84 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,10 @@ test + + org.springframework.boot + spring-boot-starter-jdbc + org.jdbi @@ -92,6 +96,17 @@ 1.18.16 true + + + org.slf4j + slf4j-api + 1.7.30 + + + org.slf4j + slf4j-simple + 1.7.30 + diff --git a/src/main/java/com/moze/rms/RmsApplication.java b/src/main/java/com/moze/rms/RmsApplication.java index a66b21d..1ba9ec0 100644 --- a/src/main/java/com/moze/rms/RmsApplication.java +++ b/src/main/java/com/moze/rms/RmsApplication.java @@ -3,9 +3,10 @@ package com.moze.rms; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication -public class RmsApplication { +public class RmsApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(RmsApplication.class, args); diff --git a/src/main/java/com/moze/rms/config/JdbiFactory.java b/src/main/java/com/moze/rms/config/JdbiFactory.java new file mode 100644 index 0000000..0bb8443 --- /dev/null +++ b/src/main/java/com/moze/rms/config/JdbiFactory.java @@ -0,0 +1,55 @@ +package com.moze.rms.config; + +import com.moze.rms.dao.HardwareDAO; +import org.jdbi.v3.core.Jdbi; +import org.jdbi.v3.core.statement.SqlLogger; +import org.jdbi.v3.core.statement.StatementContext; +import org.jdbi.v3.sqlobject.SqlObjectPlugin; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy; + +import javax.sql.DataSource; + +@Configuration +public class JdbiFactory { + + @Autowired + DataSource dataSource; + + @Bean + public Jdbi getInstance() { + TransactionAwareDataSourceProxy proxy = new TransactionAwareDataSourceProxy(dataSource); + Jdbi jdbi = Jdbi.create(proxy); + jdbi.setSqlLogger(new SqlLogger() { + @Override + public void logBeforeExecution(StatementContext ctx) { + if (ctx.getStatement() != null) + System.out.println(ctx.getStatement().toString()); + } +// @Override +// public void logAfterExecution(StatementContext context) { +//// jdbi.setSqlLogger(SqlLogger.NOP_SQL_LOGGER); +// } +// @Override +// public void logException(StatementContext context, SQLException ex) { +//// jdbi.setSqlLogger(SqlLogger.NOP_SQL_LOGGER); +// } + }); + return jdbi.installPlugin(new SqlObjectPlugin()); + } +// @Bean +// public Jdbi jdbi(DataSource ds, List jdbiPlugins, List> rowMappers) { +// TransactionAwareDataSourceProxy proxy = new TransactionAwareDataSourceProxy(ds); +// Jdbi jdbi = Jdbi.create(proxy); +// jdbiPlugins.forEach(plugin -> jdbi.installPlugin(plugin)); +// rowMappers.forEach(mapper -> jdbi.registerRowMapper(mapper)); +// return jdbi; +// } + + @Bean + public HardwareDAO hardwareDAO(Jdbi jdbi) { + return jdbi.onDemand(HardwareDAO.class); + } +} diff --git a/src/main/java/com/moze/rms/controller/HardwareController.java b/src/main/java/com/moze/rms/controller/HardwareController.java new file mode 100644 index 0000000..73b78c3 --- /dev/null +++ b/src/main/java/com/moze/rms/controller/HardwareController.java @@ -0,0 +1,23 @@ +package com.moze.rms.controller; + +import com.moze.rms.dao.HardwareDAO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/hardware") +public class HardwareController { + + @Autowired + HardwareDAO hardwareDAO; + + @GetMapping("/hardwares") + public JsonResult getHardwares() { + + return new JsonResult(StatusCode.SUCCESS, hardwareDAO.findAll()); + } + + +} diff --git a/src/main/java/com/moze/rms/controller/JsonResult.java b/src/main/java/com/moze/rms/controller/JsonResult.java new file mode 100644 index 0000000..9d7bade --- /dev/null +++ b/src/main/java/com/moze/rms/controller/JsonResult.java @@ -0,0 +1,19 @@ +package com.moze.rms.controller; + +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +public class JsonResult { + + private int code; + private String message; + private Object data; + + public JsonResult(StatusCode statusCode, Object data) { + this.code = statusCode.getCode(); + this.message = statusCode.getMessage(); + this.data = data; + } +} diff --git a/src/main/java/com/moze/rms/controller/StatusCode.java b/src/main/java/com/moze/rms/controller/StatusCode.java new file mode 100644 index 0000000..3c079f1 --- /dev/null +++ b/src/main/java/com/moze/rms/controller/StatusCode.java @@ -0,0 +1,55 @@ +package com.moze.rms.controller; + +public enum StatusCode { + + /** 成功 */ + SUCCESS(200, "成功"), + + /** 沒有登入 */ + NOT_LOGIN(400, "帳號或密碼錯誤"), + + /** 發生異常 */ + EXCEPTION(401, "發生異常"), + + /** 系統錯誤 */ + SYS_ERROR(402, "系統錯誤"), + + /** 引數錯誤 */ + PARAMS_ERROR(403, "引數錯誤 "), + + /** 不支援或已經廢棄 */ + NOT_SUPPORTED(410, "不支援或已經廢棄"), + + /** AuthCode錯誤 */ + INVALID_AUTHCODE(444, "無效的AuthCode"), + + /** 太頻繁的呼叫 */ + TOO_FREQUENT(445, "太頻繁的呼叫"), + + /** 未知的錯誤 */ + UNKNOWN_ERROR(499, "未知錯誤"); + + private int code; + private String message; + + StatusCode(int code, String message) { + this.code = code; + this.message = message; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/src/main/java/com/moze/rms/dao/HardwareDAO.java b/src/main/java/com/moze/rms/dao/HardwareDAO.java new file mode 100644 index 0000000..53b7739 --- /dev/null +++ b/src/main/java/com/moze/rms/dao/HardwareDAO.java @@ -0,0 +1,18 @@ +package com.moze.rms.dao; + + +import com.moze.rms.entity.model.Hardware; +import org.jdbi.v3.sqlobject.config.RegisterBeanMapper; +import org.jdbi.v3.sqlobject.statement.SqlQuery; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@RegisterBeanMapper(Hardware.class) +public interface HardwareDAO { + + @SqlQuery("select * from hardware;") + List findAll(); + + +} diff --git a/src/main/java/com/moze/rms/entity/model/Hardware.java b/src/main/java/com/moze/rms/entity/model/Hardware.java new file mode 100644 index 0000000..5ffd728 --- /dev/null +++ b/src/main/java/com/moze/rms/entity/model/Hardware.java @@ -0,0 +1,23 @@ +package com.moze.rms.entity.model; + +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +public class Hardware { + private String hostname; + private String type; + private String descript; + private String ip1; + private String ip2; + private String model; + private String environment; + private String position; + private String position_number; + private Integer amount; + private String owner_department; + private String keep_department; + private String keeper; + private String remark; +} diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 600e1fd..2396860 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -1,6 +1,8 @@ server.servlet.context-path=/ -spring.datasource.url=jdbc:postgresql:// -spring.datasource.username= -spring.datasource.password= +spring.datasource.url=jdbc:postgresql://172.105.222.191:54132/rms +spring.datasource.username=moze +spring.datasource.password=moze794064,! + + diff --git a/src/main/resources/application-pro.properties b/src/main/resources/application-pro.properties index 67722bc..05feec1 100644 --- a/src/main/resources/application-pro.properties +++ b/src/main/resources/application-pro.properties @@ -1,3 +1,3 @@ -spring.datasource.url=jdbc:postgresql:// -spring.datasource.username= -spring.datasource.password= \ No newline at end of file +spring.datasource.url=jdbc:postgresql://172.105.222.191:54132/rms +spring.datasource.username=moze +spring.datasource.password=moze794064,! \ No newline at end of file