iBase4J简单应用添加模块
生活随笔
收集整理的這篇文章主要介紹了
iBase4J简单应用添加模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 近來比較空閑,看了下iBase4J,但是在iBase4j開發添加小模塊時發現并沒有太多的文章來介紹它,所以自己就慢慢研究了下,將一些簡單的問題一起與大家共享下
**首先**你得確保你的項目都啟動成功,網上有許多部署啟動iBase4J的文章,這里咱們就不在啰嗦了,小編這里使用的idea神器,
![項目啟動成功ok,這里小編沒有配置nginx,而是將它的iBase4J-UI\iBase4J-UI-AngularJS也一起部署到tomcat下
接下來項目啟動了以后我們首先進行登陸(http://localhost:8080/ui),賬號為:admin
密碼是:111111
進入iBase的首頁
![進入iBase的首頁
添加模塊
可以直接使用它的程序添加也可以去數據庫手動添加,小編在這失去它的數據庫添加,將所有的sql都導入數據庫
在菜單表中添加菜單
這里的request_ 字段路徑要與我們后期的angularJs中的地址相對應,待會介紹
給admin用戶添加權限
接下來我們去一下地址中添加訪問路徑(需要angularJs解析我們的路徑所有要在config-route配置文件中去配置)
照貓畫虎添加相對應的路徑,配置與我們數據庫當中的請求路徑一致
.state('main.search', {
??????????????????? url: '/search',
??????????????????? template: '<div ui-view class="fade-in-right-big smooth"></div>'
??????????????? })
??????????????? .state('main.search.resume', {
??????????????????? url: '/resume',
??????????????????? template: '<div ui-view class="fade-in-right-big smooth"></div>'
??????????????? })
??????????????? .state('main.search.resume.list', {
??????????????????? url: '/list',
??????????????????? templateUrl: 'src/app/search/resume/resume.html',
??????????????????? controller: 'resumeController',
??????????????????? resolve: {
??????????????????????? deps: ['uiLoad', '$ocLazyLoad', function(uiLoad, $ocLazyLoad) {
??????????????????????????? return uiLoad.load('src/app/search/resume/resumeController.js').then(function() {
??????????????????????????????? return $ocLazyLoad.load('toaster');
??????????????????????????? });
??????????????????????? }]
??????????????????? }
??????????????? });
創建相對應的html靜態頁面和angularJs的控制器
angularJs控制器中的代碼也是一樣照貓畫虎
'use strict';
angular.module('app')
??? .controller('resumeController', [ '$rootScope', '$scope', '$http', '$state',
??????? function($rootScope, $scope, $http, $state) {
??????????? $scope.title = '簡歷查詢';
??????????? $scope.param = { };
??????????? $scope.loading = false;
??????????? $scope.search = function () {
??????????????? $scope.loading = true;
??????????????? $.ajax({
??????????????????? type: 'PUT',
??????????????????? dataType: 'json',
??????????????????? contentType:'application/json;charset=UTF-8',
??????????????????? url : '/resume/read/list',
??????????????????? data: angular.toJson($scope.param)
??????????????? }).then(function(result) {
??????????????????? $scope.loading = false;
??????????????????? if (result.httpCode == 200) {
??????????????????????? $scope.pageInfo = result;
??????????????????? } else {
??????????????????????? $scope.msg = result.msg;
??????????????????? }
??????????????????? $scope.$apply();
??????????????? });
??????????? }
??????????? $scope.search();
??????????? $scope.clearSearch = function() {
??????????????? $scope.param.keyword= null;
??????????????? $scope.search();
??????????? }
??????????? $scope.disableItem = function(id, enable) {
??????????? }
??????????? // 翻頁
??????????? $scope.pagination = function (page) {
??????????????? $scope.param.pageNum=page;
??????????????? $scope.search();
??????????? };
??????? } ]);
??? 項目實現加載我們的html靜態頁面的的,然后再通過angularJs的ajax去請求我們的動態資源,所以這里的請求路徑要與我們后臺的controller請求路徑相對應!
??? 在編寫之前創建好我們的表
??? 我們的實體類Resume,創建路徑(iBase4J-SYS-Facade\src\main\java\org\ibase4j\model\Resume.java)
??? package org.ibase4j.model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import org.ibase4j.core.base.BaseModel;
/**
?* Created by Administrator on 2017/8/16.
?*/
@TableName("resume")
public class Resume extends BaseModel {
??? /**
???? * 公司名稱
???? */
??? @TableField("company_name")
??? private String companyName;
??? public String getCompanyName() {
??????? return companyName;
??? }
??? public void setCompanyName(String companyName) {
??????? this.companyName = companyName;
??? }
}
實體類中繼承了我們的基類BaseModel 我們可以點進去看一看,
因為在BaseModel中已經有了對id,enable等字段的編寫所以我們在實體類中只需要編寫我們BaseModel中沒有的就好!
?? ?
??? 那么接著**到我們的后臺編寫了**不得不說它封裝挺好的,從Controller開始
??? 在web應用下創建iBase4J-SYS-Web\src\main\java\org\ibase4j\web\ResumeCtroller.java
??? package org.ibase4j.web;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.ibase4j.core.base.AbstractController;
import org.ibase4j.core.base.Parameter;
import org.ibase4j.provider.ISysProvider;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/16.
?*/
@RestController
@Api(value = "簡歷查詢", description = "簡歷查詢")
@RequestMapping(value = "/resume")
public class ResumeCtroller extends AbstractController<ISysProvider> {
?? ?//注入我們的相對應的service
??? @Override
??? public String getService() {
??????? return "resumeService";
??? }
??? // 查詢最新簡歷
??? @ApiOperation(value = "查詢最新簡歷")
??? @PutMapping(value = "/read/list")
??? public Object get(ModelMap modelMap, @RequestBody Map<String, Object> param) {
??????? return super.queryList(modelMap, param);
??? }
}
繼承他的基類使用基類的queryList方法,查詢列表
繼續到service
這里我們只需要創建service的實現類即可,非常方便
iBase4J-SYS-Service\src\main\java\org\ibase4j\service\ResumeService.java
package org.ibase4j.service;
import org.ibase4j.core.base.BaseService;
import org.ibase4j.core.util.InstanceUtil;
import org.ibase4j.model.Resume;
import org.ibase4j.model.SysMenu;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/17.
?*/
@Service
@CacheConfig(cacheNames = "sysResume")
public class ResumeService extends BaseService<Resume> {
??? public List<Resume> queryList(Map<String, Object> params) {
??????? List<Resume> pageInfo = super.queryList(params);
??????? return pageInfo;
??? }
}
這里的service調用基類的queryList時他幫我們做了許多事情不再用我們去查詢他的列表,看它的代碼
接著是我們的mapper接口和mapper.xml
iBase4J-SYS-Service\src\main\java\org\ibase4j\mapper\SysResumeMapper.java 一樣去繼承它的基類
package org.ibase4j.mapper;
import org.apache.ibatis.annotations.Param;
import org.ibase4j.core.base.BaseMapper;
import org.ibase4j.model.Resume;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/17.
?*/
public interface SysResumeMapper extends BaseMapper<Resume> {
??? public List<Long> selectIdPage(@Param("cm") Map<String, Object> params);
}
mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.ibase4j.mapper.SysResumeMapper">
?? ?<select id="selectIdPage" parameterType="java.util.Map" resultType="java.lang.Long">
?? ??? ?select id_ from resume
?? ?</select>
</mapper>
這樣的話它的整個項目前臺請求到后臺再到我們的數據庫就都打通了
本博客中使用的各個名稱都是學習使用并沒有作為商用!!!
感謝大家的細心閱讀,相信大家也一定會有更好的建議告訴我,快來評論吧!!!本人一定銘記教誨!!!
**首先**你得確保你的項目都啟動成功,網上有許多部署啟動iBase4J的文章,這里咱們就不在啰嗦了,小編這里使用的idea神器,
![項目啟動成功ok,這里小編沒有配置nginx,而是將它的iBase4J-UI\iBase4J-UI-AngularJS也一起部署到tomcat下
接下來項目啟動了以后我們首先進行登陸(http://localhost:8080/ui),賬號為:admin
密碼是:111111
進入iBase的首頁
![進入iBase的首頁
添加模塊
可以直接使用它的程序添加也可以去數據庫手動添加,小編在這失去它的數據庫添加,將所有的sql都導入數據庫
在菜單表中添加菜單
這里的request_ 字段路徑要與我們后期的angularJs中的地址相對應,待會介紹
給admin用戶添加權限
接下來我們去一下地址中添加訪問路徑(需要angularJs解析我們的路徑所有要在config-route配置文件中去配置)
照貓畫虎添加相對應的路徑,配置與我們數據庫當中的請求路徑一致
.state('main.search', {
??????????????????? url: '/search',
??????????????????? template: '<div ui-view class="fade-in-right-big smooth"></div>'
??????????????? })
??????????????? .state('main.search.resume', {
??????????????????? url: '/resume',
??????????????????? template: '<div ui-view class="fade-in-right-big smooth"></div>'
??????????????? })
??????????????? .state('main.search.resume.list', {
??????????????????? url: '/list',
??????????????????? templateUrl: 'src/app/search/resume/resume.html',
??????????????????? controller: 'resumeController',
??????????????????? resolve: {
??????????????????????? deps: ['uiLoad', '$ocLazyLoad', function(uiLoad, $ocLazyLoad) {
??????????????????????????? return uiLoad.load('src/app/search/resume/resumeController.js').then(function() {
??????????????????????????????? return $ocLazyLoad.load('toaster');
??????????????????????????? });
??????????????????????? }]
??????????????????? }
??????????????? });
創建相對應的html靜態頁面和angularJs的控制器
angularJs控制器中的代碼也是一樣照貓畫虎
'use strict';
angular.module('app')
??? .controller('resumeController', [ '$rootScope', '$scope', '$http', '$state',
??????? function($rootScope, $scope, $http, $state) {
??????????? $scope.title = '簡歷查詢';
??????????? $scope.param = { };
??????????? $scope.loading = false;
??????????? $scope.search = function () {
??????????????? $scope.loading = true;
??????????????? $.ajax({
??????????????????? type: 'PUT',
??????????????????? dataType: 'json',
??????????????????? contentType:'application/json;charset=UTF-8',
??????????????????? url : '/resume/read/list',
??????????????????? data: angular.toJson($scope.param)
??????????????? }).then(function(result) {
??????????????????? $scope.loading = false;
??????????????????? if (result.httpCode == 200) {
??????????????????????? $scope.pageInfo = result;
??????????????????? } else {
??????????????????????? $scope.msg = result.msg;
??????????????????? }
??????????????????? $scope.$apply();
??????????????? });
??????????? }
??????????? $scope.search();
??????????? $scope.clearSearch = function() {
??????????????? $scope.param.keyword= null;
??????????????? $scope.search();
??????????? }
??????????? $scope.disableItem = function(id, enable) {
??????????? }
??????????? // 翻頁
??????????? $scope.pagination = function (page) {
??????????????? $scope.param.pageNum=page;
??????????????? $scope.search();
??????????? };
??????? } ]);
??? 項目實現加載我們的html靜態頁面的的,然后再通過angularJs的ajax去請求我們的動態資源,所以這里的請求路徑要與我們后臺的controller請求路徑相對應!
??? 在編寫之前創建好我們的表
??? 我們的實體類Resume,創建路徑(iBase4J-SYS-Facade\src\main\java\org\ibase4j\model\Resume.java)
??? package org.ibase4j.model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import org.ibase4j.core.base.BaseModel;
/**
?* Created by Administrator on 2017/8/16.
?*/
@TableName("resume")
public class Resume extends BaseModel {
??? /**
???? * 公司名稱
???? */
??? @TableField("company_name")
??? private String companyName;
??? public String getCompanyName() {
??????? return companyName;
??? }
??? public void setCompanyName(String companyName) {
??????? this.companyName = companyName;
??? }
}
實體類中繼承了我們的基類BaseModel 我們可以點進去看一看,
因為在BaseModel中已經有了對id,enable等字段的編寫所以我們在實體類中只需要編寫我們BaseModel中沒有的就好!
?? ?
??? 那么接著**到我們的后臺編寫了**不得不說它封裝挺好的,從Controller開始
??? 在web應用下創建iBase4J-SYS-Web\src\main\java\org\ibase4j\web\ResumeCtroller.java
??? package org.ibase4j.web;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.ibase4j.core.base.AbstractController;
import org.ibase4j.core.base.Parameter;
import org.ibase4j.provider.ISysProvider;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/16.
?*/
@RestController
@Api(value = "簡歷查詢", description = "簡歷查詢")
@RequestMapping(value = "/resume")
public class ResumeCtroller extends AbstractController<ISysProvider> {
?? ?//注入我們的相對應的service
??? @Override
??? public String getService() {
??????? return "resumeService";
??? }
??? // 查詢最新簡歷
??? @ApiOperation(value = "查詢最新簡歷")
??? @PutMapping(value = "/read/list")
??? public Object get(ModelMap modelMap, @RequestBody Map<String, Object> param) {
??????? return super.queryList(modelMap, param);
??? }
}
繼承他的基類使用基類的queryList方法,查詢列表
繼續到service
這里我們只需要創建service的實現類即可,非常方便
iBase4J-SYS-Service\src\main\java\org\ibase4j\service\ResumeService.java
package org.ibase4j.service;
import org.ibase4j.core.base.BaseService;
import org.ibase4j.core.util.InstanceUtil;
import org.ibase4j.model.Resume;
import org.ibase4j.model.SysMenu;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/17.
?*/
@Service
@CacheConfig(cacheNames = "sysResume")
public class ResumeService extends BaseService<Resume> {
??? public List<Resume> queryList(Map<String, Object> params) {
??????? List<Resume> pageInfo = super.queryList(params);
??????? return pageInfo;
??? }
}
這里的service調用基類的queryList時他幫我們做了許多事情不再用我們去查詢他的列表,看它的代碼
接著是我們的mapper接口和mapper.xml
iBase4J-SYS-Service\src\main\java\org\ibase4j\mapper\SysResumeMapper.java 一樣去繼承它的基類
package org.ibase4j.mapper;
import org.apache.ibatis.annotations.Param;
import org.ibase4j.core.base.BaseMapper;
import org.ibase4j.model.Resume;
import java.util.List;
import java.util.Map;
/**
?* Created by Administrator on 2017/8/17.
?*/
public interface SysResumeMapper extends BaseMapper<Resume> {
??? public List<Long> selectIdPage(@Param("cm") Map<String, Object> params);
}
mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.ibase4j.mapper.SysResumeMapper">
?? ?<select id="selectIdPage" parameterType="java.util.Map" resultType="java.lang.Long">
?? ??? ?select id_ from resume
?? ?</select>
</mapper>
這樣的話它的整個項目前臺請求到后臺再到我們的數據庫就都打通了
本博客中使用的各個名稱都是學習使用并沒有作為商用!!!
感謝大家的細心閱讀,相信大家也一定會有更好的建議告訴我,快來評論吧!!!本人一定銘記教誨!!!
總結
以上是生活随笔為你收集整理的iBase4J简单应用添加模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache 配置:是否显示文件列表
- 下一篇: 剑指offer---用两个栈实现队列