著者ホームページ:プログラミングコンパス
著者について: Java 分野の高品質クリエイター、CSDN ブログ エキスパート、CSDN コンテンツ パートナー、Nuggets の招待著者、Alibaba Cloud ブログ エキスパート、51CTO 招待著者、長年のアーキテクト設計経験、Tencent 教室の常駐講師
主な内容:Javaプロジェクト、Pythonプロジェクト、フロントエンドプロジェクト、人工知能とビッグデータ、履歴書テンプレート、教材、面接質問バンク、技術相互支援
お気に入り、いいね、迷わず作者フォローすると良いです
記事の最後にあるソースコードを入手してください
商品番号:BS-XX-211
1. 環境紹介
ロケール: Java: jdk1.8
データベース: MySQL: mysql5.7
アプリケーションサーバー: Tomcat: tomcat8.5.31
開発ツール: IDEA または eclipse
2. プロジェクト紹介
このプロジェクトでは、Springboot+Vue をフロントエンドとバックエンドの分離開発に使用し、ガソリンスタンド給油管理システムプラットフォームを完成させます。このシステムは、実際のガソリンスタンド管理システムのビジネスモデルを完全にシミュレートし、フロントエンドユーザーのオンライン登録とログイン、オンライン充電を実現し、給油ガンの選択による給油のシミュレーションを実現し、ユーザーのパーソナルセンターで個人情報の閲覧と変更、充電が可能です。オンラインで充電記録や給油記録などを確認できます。
同時に、人事管理、給油実績や売上高のグラフィカルレポート統計、給油管理、アナウンス管理、カルーセルマップ管理、給油口輪管理、給油情報記録管理などを実現するプラットフォーム管理者の機能も提供します。
本システムのテーマ選択は比較的斬新であり、ガソリンスタンド給油業務の全工程管理機能モジュールを実現できる、稀有な高品質システムである。
以下にシステムの機能を示します
三、システム表示
システムホーム
ユーザー登録
給油銃口を見る
模擬給油運転を実現
パーソナルセンターのバックグラウンド管理
個人データの管理
給油記録を見る
リチャージ管理
プラットフォーム管理者バックグラウンド管理機能表示
ダッシュボード情報の統計
管理者管理
ユーザー管理
お知らせ管理
給油銃口の管理
給油情報管理
リチャージ管理
会員問い合わせ
4番目、コアコード表示
package com.spring.controller;
import com.jntoo.db.*;
import com.jntoo.db.utils.*;
import com.spring.dao.*;
import com.spring.entity.*;
import com.spring.service.*;
import com.spring.util.*;
import com.spring.util.Info;
import java.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import tk.mybatis.mapper.entity.Example;
/**
* 管理员 */
@Controller
public class AdminsController extends BaseController {
@Autowired
private AdminsMapper dao;
@Autowired
private AdminsService service;
/**
* 后台列表页
*
*/
@RequestMapping("/admins_list")
public String list() {
// 检测是否有登录,没登录则跳转到登录页面
if (!checkLogin()) {
return showError("尚未登录", "./login.do");
}
String order = Request.get("order", "id"); // 获取前台提交的URL参数 order 如果没有则设置为id
String sort = Request.get("sort", "desc"); // 获取前台提交的URL参数 sort 如果没有则设置为desc
int pagesize = Request.getInt("pagesize", 12); // 获取前台一页多少行数据
Example example = new Example(Admins.class); // 创建一个扩展搜索类
Example.Criteria criteria = example.createCriteria(); // 创建一个扩展搜索条件类
String where = " 1=1 "; // 创建初始条件为:1=1
where += getWhere(); // 从方法中获取url 上的参数,并写成 sql条件语句
criteria.andCondition(where); // 将条件写进上面的扩展条件类中
if (sort.equals("desc")) { // 判断前台提交的sort 参数是否等于 desc倒序 是则使用倒序,否则使用正序
example.orderBy(order).desc(); // 把sql 语句设置成倒序
} else {
example.orderBy(order).asc(); // 把 sql 设置成正序
}
int page = request.getParameter("page") == null ? 1 : Integer.valueOf(request.getParameter("page")); // 获取前台提交的URL参数 page 如果没有则设置为1
page = Math.max(1, page); // 取两个数的最大值,防止page 小于1
List<Admins> list = service.selectPageExample(example, page, pagesize); // 获取当前页的行数
// 将列表写给界面使用
assign("totalCount", request.getAttribute("totalCount"));
assign("list", list);
assign("orderby", order); // 把当前排序结果写进前台
assign("sort", sort); // 把当前排序结果写进前台
return json(); // 将数据写给前端
}
public String getWhere() {
_var = new LinkedHashMap(); // 重置数据
String where = " ";
// 以下也是一样的操作,判断是否符合条件,符合则写入sql 语句
if (!Request.get("username").equals("")) {
where += " AND username LIKE '%" + Request.get("username") + "%' ";
}
return where;
}
@RequestMapping("/admins_add")
public String add() {
_var = new LinkedHashMap(); // 重置数据
return json(); // 将数据写给前端
}
@RequestMapping("/admins_updt")
public String updt() {
_var = new LinkedHashMap(); // 重置数据
int id = Request.getInt("id");
// 获取行数据,并赋值给前台jsp页面
Admins mmm = service.find(id);
assign("mmm", mmm);
assign("updtself", 0);
return json(); // 将数据写给前端
}
@RequestMapping("/admins_updtself")
public String updtself() {
_var = new LinkedHashMap(); // 重置数据
// 更新个人资料
int id = (int) request.getSession().getAttribute("id");
Admins mmm = service.find(id);
assign("mmm", mmm);
assign("updtself", 1);
return json(); // 将数据写给前端
}
/**
* 添加内容
* @return
*/
@RequestMapping("/adminsinsert")
public String insert() {
_var = new LinkedHashMap(); // 重置数据
String tmp = "";
Admins post = new Admins(); // 创建实体类
// 设置前台提交上来的数据到实体类中
post.setUsername(Request.get("username"));
post.setPwd(Request.get("pwd"));
service.insert(post); // 插入数据
int charuid = post.getId().intValue();
if (isAjax()) {
return jsonResult(post);
}
return showSuccess("保存成功", Request.get("referer").equals("") ? request.getHeader("referer") : Request.get("referer"));
}
/**
* 更新内容
* @return
*/
@RequestMapping("/adminsupdate")
public String update() {
_var = new LinkedHashMap(); // 重置数据
// 创建实体类
Admins post = new Admins();
// 将前台表单数据填充到实体类
if (!Request.get("username").equals("")) post.setUsername(Request.get("username"));
if (!Request.get("pwd").equals("")) post.setPwd(Request.get("pwd"));
post.setId(Request.getInt("id"));
service.update(post); // 更新数据
int charuid = post.getId().intValue();
if (isAjax()) {
return jsonResult(post);
}
if (Request.getInt("updtself") == 1) {
return showSuccess("保存成功", "admins_updtself.do");
}
return showSuccess("保存成功", Request.get("referer")); // 弹出保存成功,并跳转到前台提交的 referer 页面
}
/**
* 删除
*/
@RequestMapping("/admins_delete")
public String delete() {
_var = new LinkedHashMap(); // 重置数据
if (!checkLogin()) {
return showError("尚未登录");
}
int id = Request.getInt("id"); // 根据id 删除某行数据
Map map = Query.make("admins").find(id);
service.delete(id); // 根据id 删除某行数据
return showSuccess("删除成功", request.getHeader("referer")); //弹出删除成功,并跳回上一页
}
}
package com.spring.controller;
import com.jntoo.db.*;
import com.jntoo.db.utils.*;
import com.spring.dao.*;
import com.spring.entity.*;
import com.spring.service.*;
import com.spring.util.*;
import com.spring.util.Info;
import java.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import tk.mybatis.mapper.entity.Example;
/**
* 加油枪口 */
@Controller
public class JiayouqiangkouController extends BaseController {
@Autowired
private JiayouqiangkouMapper dao;
@Autowired
private JiayouqiangkouService service;
/**
* 后台列表页
*
*/
@RequestMapping("/jiayouqiangkou_list")
public String list() {
// 检测是否有登录,没登录则跳转到登录页面
if (!checkLogin()) {
return showError("尚未登录", "./login.do");
}
String order = Request.get("order", "id"); // 获取前台提交的URL参数 order 如果没有则设置为id
String sort = Request.get("sort", "desc"); // 获取前台提交的URL参数 sort 如果没有则设置为desc
int pagesize = Request.getInt("pagesize", 12); // 获取前台一页多少行数据
Example example = new Example(Jiayouqiangkou.class); // 创建一个扩展搜索类
Example.Criteria criteria = example.createCriteria(); // 创建一个扩展搜索条件类
String where = " 1=1 "; // 创建初始条件为:1=1
where += getWhere(); // 从方法中获取url 上的参数,并写成 sql条件语句
criteria.andCondition(where); // 将条件写进上面的扩展条件类中
if (sort.equals("desc")) { // 判断前台提交的sort 参数是否等于 desc倒序 是则使用倒序,否则使用正序
example.orderBy(order).desc(); // 把sql 语句设置成倒序
} else {
example.orderBy(order).asc(); // 把 sql 设置成正序
}
int page = request.getParameter("page") == null ? 1 : Integer.valueOf(request.getParameter("page")); // 获取前台提交的URL参数 page 如果没有则设置为1
page = Math.max(1, page); // 取两个数的最大值,防止page 小于1
List<Jiayouqiangkou> list = service.selectPageExample(example, page, pagesize); // 获取当前页的行数
// 将列表写给界面使用
assign("totalCount", request.getAttribute("totalCount"));
assign("list", list);
assign("orderby", order); // 把当前排序结果写进前台
assign("sort", sort); // 把当前排序结果写进前台
return json(); // 将数据写给前端
}
public String getWhere() {
_var = new LinkedHashMap(); // 重置数据
String where = " ";
// 以下也是一样的操作,判断是否符合条件,符合则写入sql 语句
if (!Request.get("qiangkoubianhao").equals("")) {
where += " AND qiangkoubianhao LIKE '%" + Request.get("qiangkoubianhao") + "%' ";
}
if (!Request.get("qiangkoumingcheng").equals("")) {
where += " AND qiangkoumingcheng LIKE '%" + Request.get("qiangkoumingcheng") + "%' ";
}
if (!Request.get("youpinleixing").equals("")) {
where += " AND youpinleixing ='" + Request.get("youpinleixing") + "' ";
}
return where;
}
/**
* 前台列表页
*
*/
@RequestMapping("/jiayouqiangkoulist")
public String index() {
String order = Request.get("order", "id");
String sort = Request.get("sort", "desc");
int pagesize = Request.getInt("pagesize", 12); // 获取前台一页多少行数据
Example example = new Example(Jiayouqiangkou.class);
Example.Criteria criteria = example.createCriteria();
String where = " 1=1 ";
where += getWhere();
criteria.andCondition(where);
if (sort.equals("desc")) {
example.orderBy(order).desc();
} else {
example.orderBy(order).asc();
}
int page = request.getParameter("page") == null ? 1 : Integer.valueOf(request.getParameter("page"));
page = Math.max(1, page);
List<Jiayouqiangkou> list = service.selectPageExample(example, page, pagesize);
assign("totalCount", request.getAttribute("totalCount"));
assign("list", list);
assign("where", where);
assign("orderby", order);
assign("sort", sort);
return json();
}
@RequestMapping("/jiayouqiangkou_add")
public String add() {
_var = new LinkedHashMap(); // 重置数据
return json(); // 将数据写给前端
}
@RequestMapping("/jiayouqiangkou_updt")
public String updt() {
_var = new LinkedHashMap(); // 重置数据
int id = Request.getInt("id");
// 获取行数据,并赋值给前台jsp页面
Jiayouqiangkou mmm = service.find(id);
assign("mmm", mmm);
assign("updtself", 0);
return json(); // 将数据写给前端
}
/**
* 添加内容
* @return
*/
@RequestMapping("/jiayouqiangkouinsert")
public String insert() {
_var = new LinkedHashMap(); // 重置数据
String tmp = "";
Jiayouqiangkou post = new Jiayouqiangkou(); // 创建实体类
// 设置前台提交上来的数据到实体类中
post.setQiangkoubianhao(Request.get("qiangkoubianhao"));
post.setTupian(Request.get("tupian"));
post.setQiangkoumingcheng(Request.get("qiangkoumingcheng"));
post.setYoupinleixing(Request.get("youpinleixing"));
post.setShengyuyouliang(Request.getDouble("shengyuyouliang"));
post.setJiage(Request.getDouble("jiage"));
post.setBeizhu(Request.get("beizhu"));
service.insert(post); // 插入数据
int charuid = post.getId().intValue();
if (isAjax()) {
return jsonResult(post);
}
return showSuccess("保存成功", Request.get("referer").equals("") ? request.getHeader("referer") : Request.get("referer"));
}
/**
* 更新内容
* @return
*/
@RequestMapping("/jiayouqiangkouupdate")
public String update() {
_var = new LinkedHashMap(); // 重置数据
// 创建实体类
Jiayouqiangkou post = new Jiayouqiangkou();
// 将前台表单数据填充到实体类
if (!Request.get("qiangkoubianhao").equals("")) post.setQiangkoubianhao(Request.get("qiangkoubianhao"));
if (!Request.get("tupian").equals("")) post.setTupian(Request.get("tupian"));
if (!Request.get("qiangkoumingcheng").equals("")) post.setQiangkoumingcheng(Request.get("qiangkoumingcheng"));
if (!Request.get("youpinleixing").equals("")) post.setYoupinleixing(Request.get("youpinleixing"));
if (!Request.get("shengyuyouliang").equals("")) post.setShengyuyouliang(Request.getDouble("shengyuyouliang"));
if (!Request.get("jiage").equals("")) post.setJiage(Request.getDouble("jiage"));
if (!Request.get("beizhu").equals("")) post.setBeizhu(Request.get("beizhu"));
post.setId(Request.getInt("id"));
service.update(post); // 更新数据
int charuid = post.getId().intValue();
if (isAjax()) {
return jsonResult(post);
}
return showSuccess("保存成功", Request.get("referer")); // 弹出保存成功,并跳转到前台提交的 referer 页面
}
/**
* 后台详情
*/
@RequestMapping("/jiayouqiangkou_detail")
public String detail() {
_var = new LinkedHashMap(); // 重置数据
int id = Request.getInt("id");
Jiayouqiangkou map = service.find(id); // 根据前台url 参数中的id获取行数据
assign("map", map); // 把数据写到前台
return json(); // 将数据写给前端
}
/**
* 前台详情
*/
@RequestMapping("/jiayouqiangkoudetail")
public String detailweb() {
_var = new LinkedHashMap(); // 重置数据
int id = Request.getInt("id");
Jiayouqiangkou map = service.find(id);
assign("map", map);
return json(); // 将数据写给前端
}
/**
* 删除
*/
@RequestMapping("/jiayouqiangkou_delete")
public String delete() {
_var = new LinkedHashMap(); // 重置数据
if (!checkLogin()) {
return showError("尚未登录");
}
int id = Request.getInt("id"); // 根据id 删除某行数据
Map map = Query.make("jiayouqiangkou").find(id);
service.delete(id); // 根据id 删除某行数据
return showSuccess("删除成功", request.getHeader("referer")); //弹出删除成功,并跳回上一页
}
}
5. 関連作品の展示
Java開発、Python開発、PHP開発、C#開発、その他関連言語開発をベースにした実践的なプロジェクト
Nodejs、Vue等のフロントエンド技術をベースに開発されたフロントエンド実践プロジェクト
WeChatアプレットおよびAndroid APPアプリケーション開発に基づく関連作品
51個のシングルチップマイコンをベースとした組み込みIoTの開発と応用
さまざまなアルゴリズムに基づくAIインテリジェントアプリケーション
ビッグデータを活用した各種データ管理・レコメンドシステム