前言
GPS系列——Java端,github项目地址
前面已经了解或者实现了Android端的gps上传定位信息,现在就差后台的接口支持了。
我们需要数据库来储存上传的定位信息,并且还要满足不同的人的数据隔离,也就是用户系统。
下面就给大家介绍Java端的主要实现和代码,更多更详细的内容,还是得看源码。
对大家有用的知识,大家自行拷贝使用。
GPS定位系统系列
目录
[TOC]
收获
学习完这篇文章你将收获:
springboot+mybatis的主流应用
jwt的token全局验证
上传文件及其文件映射
跨域问题处理
全局异常处理
gps定位、用户表设计
mybatis-generator配置
正题
一、Java技术框架
java8
springboot + mybatis
jwt
mysql
mybatis-generator
运用比较主流的springboot框架,数据库框架mybatis,token验证jwt,mysql5.7.0,mabatis-generator自动生成bean\dao\mapper
二、环境准备
java环境、mysql
建议使用docker来管理java的发布、mysql、nginx,后面会有专门GPS定位系统(五)——Docker,来介绍容器下web、java、mysql等环境搭建。
三、开发步骤
1、创建数据库,设计创建数据库表
2、配置好datasource的连接信息,application.yml里面datasource
3、配置mybatis-generator的config配置文件,并生成bean、Mapper的java文件和xml文件
4、编写controller所需接口
5、全局异常处理
6、全局token验证处理
7、测试、发布
四、数据库表
user:
CREATE TABLE `user` (
`uid` bigint NOT NULL AUTO_INCREMENT,
`username` varchar(40) NOT NULL,
`password` varchar(40) NOT NULL,
`token` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '',
`name` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '',
`create_time` bigint NOT NULL,
`update_time` bigint DEFAULT NULL,
`mobile` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '',
`gender` tinyint(1) DEFAULT '0' COMMENT '0:男 1:女',
`user_role` tinyint(3) unsigned zerofill DEFAULT '000',
`avatar` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '',
`last_login_time` bigint DEFAULT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
gps:
CREATE TABLE `location` (
`id` int NOT NULL AUTO_INCREMENT,
`lat` double(20,10) NOT NULL,
`lng` double(20,10) NOT NULL,
`time` bigint DEFAULT NULL,
`uid` bigint DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=340 DEFAULT CHARSET=utf8;
mybatis-generator配置
1、在根目录下创建generatorConfig.xml文件
2、配置
/p>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
pom.xml
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
Generate MyBatis Artifacts
deploy
generate
mysql
mysql-connector-java
8.0.11
注意:如果在maven打包的时候,会再次调用mybatis-generator一次,会重复生成文件。这时候,需要配置execution的goals,这样就不会再次生成一份文件。
Generate MyBatis Artifacts
deploy
generate
3、双击【m