Commit aff1c1ba by flying-cattle

文档更新

parent 38dc7e42
# mybatis-dsc-generato
集成最全的代码生成工具:entity集成lombok,格式校验,swagger; dao自动加@ mapper,service自动注释和依赖; 控制器实现单表的增副改查,并集成swagger实现api文档。如果有缘看见,期望得到你的star,very thx.
完美集成lombok,swagger的代码生成工具,让你不再为繁琐的注释和简单的接口实现而烦恼:entity集成,格式校验,swagger; dao自动加@ mapper,service自动注释和依赖; 控制器实现单表的增副改查,并集成swagger实现api文档。如果有缘看见,期望得到你的star,very thx.
# 源码地址
- GitHub:https://github.com/flying-cattle/mybatis-dsc-generator
- 码云:https://gitee.com/flying-cattle/mybatis-dsc-generator
# MAVEN地址
2.1.0版本是未集成Mybatis-plus版本——源码分支master
``` xml
<dependency>
<groupId>com.github.flying-cattle</groupId>
<artifactId>mybatis-dsc-generator</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
```
3.0.0版本是集成了Mybatis-plus版本——源码分支mybatisPlus
``` xml
<dependency>
<groupId>com.github.flying-cattle</groupId>
......@@ -12,26 +21,26 @@
<version>2.1.0.RELEASE</version>
</dependency>
```
# 数据表结构样式
``` sql
CREATE TABLE `order` (
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`order_no` varchar(50) NOT NULL COMMENT '订单编号',
`uid` bigint(20) NOT NULL COMMENT '用户ID',
`source` varchar(50) NOT NULL COMMENT '来源',
`product_id` bigint(20) NOT NULL COMMENT '产品ID',
`product_name` varchar(100) NOT NULL COMMENT '产品名字',
`unit_price` int(10) unsigned NOT NULL COMMENT '单价',
`number` int(10) unsigned NOT NULL COMMENT '数量',
`selling_price` int(11) DEFAULT NULL COMMENT '卖价',
`state` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '0等待支付,1支付成功,2支付失败,3撤销',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '交易变化时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='订单信息';
`login_name` varchar(40) DEFAULT NULL COMMENT '登录名',
`password` varchar(100) NOT NULL COMMENT '秘密',
`nickname` varchar(50) NOT NULL COMMENT '昵称',
`type` int(10) unsigned DEFAULT NULL COMMENT '类型',
`state` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '状态:-1失败,0等待,1成功',
`note` varchar(255) DEFAULT NULL COMMENT '备注',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`update_uid` bigint(20) DEFAULT '0' COMMENT '修改人用户ID',
`login_ip` varchar(50) DEFAULT NULL COMMENT '登录IP地址',
`login_addr` varchar(100) DEFAULT NULL COMMENT '登录地址',
PRIMARY KEY (`id`),
UNIQUE KEY `login_name` (`login_name`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
```
要求必须有表注释,要求必须有主键为id,切为bigint,所有字段必须有注释(便于生成java注释)。
要求必须有表注释,要求必须有主键为id,所有字段必须有注释(便于生成java注释swagger等)。
# 生成的实体类
生成方法参考源码中的:https://github.com/flying-cattle/mybatis-dsc-generator/blob/master/src/main/java/com/github/mybatis/test/TestMain.java
......@@ -44,99 +53,107 @@ CREATE TABLE `order` (
* Copyright(c) 2018 BianP Co. Ltd.
* All right reserved.
*/
package com.xin.dealcenter.entity;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/**
*
* @Description: 订单
* @Author: BianP
* @CreateDate: 2018年7月5日
* @Version: V1.0
*
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户实体类</P>
* @version: V1.0
* @author: BianPeng
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 BianPeng V1.0 initialize
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order implements Serializable {
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class User extends Model<User> {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(name = "id" , value = "用户ID")
private Long id;
@ApiModelProperty(name = "loginName" , value = "登录账户")
private String loginName;
@ApiModelProperty(name = "password" , value = "登录密码")
private String password;
@ApiModelProperty(name = "nickname" , value = "用户昵称")
private String nickname;
@ApiModelProperty(name = "type" , value = "用户类型")
private Integer type;
@ApiModelProperty(name = "state" , value = "用户状态")
private Integer state;
@ApiModelProperty(name = "note" , value = "备注")
private String note;
private static final long serialVersionUID = 1531104207412L;
@ApiModelProperty(name = "id" , value = "ID")
private Long id;
@ApiModelProperty(name = "orderNo" , value = "订单编号")
private String orderNo;
@ApiModelProperty(name = "uid" , value = "用户ID")
private Long uid;
@ApiModelProperty(name = "source" , value = "来源")
private String source;
@ApiModelProperty(name = "productId" , value = "产品ID")
private Long productId;
@ApiModelProperty(name = "productName" , value = "产品名字")
private String productName;
@ApiModelProperty(name = "unitPrice" , value = "单价")
private Integer unitPrice;
@ApiModelProperty(name = "number" , value = "数量")
private Integer number;
@ApiModelProperty(name = "sellingPrice" , value = "卖价")
private Integer sellingPrice;
@ApiModelProperty(name = "state" , value = "0等待支付,1支付成功,2支付失败,3撤销")
private Integer state;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty(name = "createTime" , value = "创建时间")
private Date createTime;
@ApiModelProperty(name = "createTime" , value = "用户创建时间")
private Date createTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty(name = "updateTime" , value = "交易变化时间")
private Date updateTime;
}
@ApiModelProperty(name = "updateTime" , value = "修改时间")
private Date updateTime;
@ApiModelProperty(name = "updateUid" , value = "修改人用户ID")
private Long updateUid;
@ApiModelProperty(name = "loginIp" , value = "登录IP")
private String loginIp;
@ApiModelProperty(name = "loginIp" , value = "登录地址")
private String loginAddr;
@Override
protected Serializable pkVal() {
return this.id;
}
}
```
# 生成的DAO
``` java
/**
* @filename:OrderDao 2018年7月5日
* @project deal-center V1.0
* Copyright(c) 2018 BianP Co. Ltd.
* All right reserved.
*/
package com.xin.dealcenter.dao;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.xin.dealcenter.entity.Order;
import com.xin.usercenter.entity.User;
/**
*
* @Description: 订单——DAO
* @Author: BianP
* @CreateDate: 2018年7月5日
* @Version: V1.0
*
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户数据访问层</P>
* @version: V1.0
* @author: BianPeng
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 BianPeng V1.0 initialize
*/
@Mapper
public interface OrderDao {
public Order selectByPrimaryKey(Long id);
public int deleteByPrimaryKey(Long id);
public interface UserDao extends BaseMapper<User> {
public int insertSelective(Order order);
public int updateByPrimaryKeySelective(Order order);
public List<Order> queryOrderList(Order order);
}
```
......@@ -144,593 +161,369 @@ public interface OrderDao {
``` 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="com.xin.dealcenter.dao.OrderDao">
<resultMap id="BaseResultMap" type="com.xin.dealcenter.entity.Order">
<id column="id" jdbcType="BIGINT" property="id" />
<id column="order_no" jdbcType="VARCHAR" property="orderNo" />
<id column="uid" jdbcType="BIGINT" property="uid" />
<id column="source" jdbcType="VARCHAR" property="source" />
<id column="product_id" jdbcType="BIGINT" property="productId" />
<id column="product_name" jdbcType="VARCHAR" property="productName" />
<id column="unit_price" jdbcType="INTEGER" property="unitPrice" />
<id column="number" jdbcType="INTEGER" property="number" />
<id column="selling_price" jdbcType="INTEGER" property="sellingPrice" />
<id column="state" jdbcType="INTEGER" property="state" />
<id column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<id column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<mapper namespace="com.xin.usercenter.dao.UserDao">
<resultMap id="BaseResultMap" type="com.xin.usercenter.entity.User">
<id column="id" property="id" />
<id column="login_name" property="loginName" />
<id column="password" property="password" />
<id column="nickname" property="nickname" />
<id column="type" property="type" />
<id column="state" property="state" />
<id column="note" property="note" />
<id column="create_time" property="createTime" />
<id column="update_time" property="updateTime" />
<id column="update_uid" property="updateUid" />
<id column="login_ip" property="loginIp" />
<id column="login_addr" property="loginAddr" />
</resultMap>
<sql id="Base_Column_List">
id, order_no, uid, source, product_id, product_name, unit_price, number, selling_price, state, create_time, update_time
id, login_name, password, nickname, type, state, note, create_time, update_time, update_uid, login_ip, login_addr
</sql>
<!-- 查询 -->
<select id="selectByPrimaryKey" parameterType="java.lang.Long"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from order
where id = #{id,jdbcType=BIGINT}
</select>
<!-- 删除 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from order
where id = #{id,jdbcType=BIGINT}
</delete>
<!-- 选择添加 -->
<insert id="insertSelective" parameterType="com.xin.dealcenter.entity.Order">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT
LAST_INSERT_ID()
</selectKey>
insert into order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="orderNo != null">
order_no,
</if>
<if test="uid != null">
uid,
</if>
<if test="source != null">
source,
</if>
<if test="productId != null">
product_id,
</if>
<if test="productName != null">
product_name,
</if>
<if test="unitPrice != null">
unit_price,
</if>
<if test="number != null">
number,
</if>
<if test="sellingPrice != null">
selling_price,
</if>
<if test="state != null">
state,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="orderNo != null">
#{orderNo,jdbcType=VARCHAR},
</if>
<if test="uid != null">
#{uid,jdbcType=BIGINT},
</if>
<if test="source != null">
#{source,jdbcType=VARCHAR},
</if>
<if test="productId != null">
#{productId,jdbcType=BIGINT},
</if>
<if test="productName != null">
#{productName,jdbcType=VARCHAR},
</if>
<if test="unitPrice != null">
#{unitPrice,jdbcType=INTEGER},
</if>
<if test="number != null">
#{number,jdbcType=INTEGER},
</if>
<if test="sellingPrice != null">
#{sellingPrice,jdbcType=INTEGER},
</if>
<if test="state != null">
#{state,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<!-- 选择修改 -->
<update id="updateByPrimaryKeySelective" parameterType="com.xin.dealcenter.entity.Order">
update order
<set>
<if test="id != null">
id = #{id,jdbcType=BIGINT},
</if>
<if test="orderNo != null">
order_no = #{orderNo,jdbcType=VARCHAR},
</if>
<if test="uid != null">
uid = #{uid,jdbcType=BIGINT},
</if>
<if test="source != null">
source = #{source,jdbcType=VARCHAR},
</if>
<if test="productId != null">
product_id = #{productId,jdbcType=BIGINT},
</if>
<if test="productName != null">
product_name = #{productName,jdbcType=VARCHAR},
</if>
<if test="unitPrice != null">
unit_price = #{unitPrice,jdbcType=INTEGER},
</if>
<if test="number != null">
number = #{number,jdbcType=INTEGER},
</if>
<if test="sellingPrice != null">
selling_price = #{sellingPrice,jdbcType=INTEGER},
</if>
<if test="state != null">
state = #{state,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<!-- 组合条件查询 -->
<select id="queryOrderList" parameterType="com.xin.dealcenter.entity.Order"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from order
<where>
<if test="id != null">
id = #{id,jdbcType=BIGINT}
</if>
<if test="orderNo != null">
AND order_no = #{orderNo ,jdbcType=VARCHAR}
</if>
<if test="uid != null">
AND uid = #{uid ,jdbcType=BIGINT}
</if>
<if test="source != null">
AND source = #{source ,jdbcType=VARCHAR}
</if>
<if test="productId != null">
AND product_id = #{productId ,jdbcType=BIGINT}
</if>
<if test="productName != null">
AND product_name = #{productName ,jdbcType=VARCHAR}
</if>
<if test="unitPrice != null">
AND unit_price = #{unitPrice ,jdbcType=INTEGER}
</if>
<if test="number != null">
AND number = #{number ,jdbcType=INTEGER}
</if>
<if test="sellingPrice != null">
AND selling_price = #{sellingPrice ,jdbcType=INTEGER}
</if>
<if test="state != null">
AND state = #{state ,jdbcType=INTEGER}
</if>
<if test="createTime != null">
AND create_time = #{createTime ,jdbcType=TIMESTAMP}
</if>
<if test="updateTime != null">
AND update_time = #{updateTime ,jdbcType=TIMESTAMP}
</if>
</where>
</select>
</mapper>
```
# 生成的SERVICE
``` java
/**
* @filename:OrderService 2018年7月5日
* @project deal-center V1.0
* Copyright(c) 2018 BianP Co. Ltd.
* All right reserved.
*/
package com.xin.dealcenter.service;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.item.util.AppPage;
import com.xin.dealcenter.entity.Order;
import com.xin.usercenter.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* @Description: 订单——SERVICE
* @Author: BianP
* @CreateDate: 2018年7月5日
* @Version: V1.0
*
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户服务层</P>
* @version: V1.0
* @author: BianPeng
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 BianPeng V1.0 initialize
*/
public interface OrderService {
/**
* @explain 查询订单对象
* @param 对象参数:id
* @return Order
* @author BianP
*/
public Order selectByPrimaryKey(Long id);
public interface UserService extends IService<User> {
/**
* @explain 删除订单对象
* @param 对象参数:id
* @return int
* @author BianP
*/
public int deleteByPrimaryKey(Long id);
/**
* @explain 添加订单对象
* @param 对象参数:Order
* @return int
* @author BianP
*/
public int insertSelective(Order order);
/**
* @explain 修改订单对象
* @param 对象参数:Order
* @return int
* @author BianP
*/
public int updateByPrimaryKeySelective(Order order);
/**
* @explain 查询订单集合
* @param 对象参数:Order
* @return List<Order>
* @author BianP
*/
public List<Order> queryOrderList(Order order);
/**
* @explain 分页查询订单
* @param 对象参数:Order
* @return PageInfo<Order>
* @author BianP
*/
public PageInfo<Order> getOrderBySearch(AppPage<Order> page);
}
```
# 生成的SERVICE_IMPL
``` java
/**
* @filename:OrderServiceImpl 2018年7月5日
* @project deal-center V1.0
* Copyright(c) 2018 BianP Co. Ltd.
* All right reserved.
*/
package com.xin.dealcenter.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.xin.usercenter.entity.User;
import com.xin.usercenter.dao.UserDao;
import com.xin.usercenter.service.UserService;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.item.util.AppPage;
import com.xin.dealcenter.entity.Order;
import com.xin.dealcenter.dao.OrderDao;
import com.xin.dealcenter.service.OrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
*
* @Description: 订单——SERVICEIMPL
* @Author: BianP
* @CreateDate: 2018年7月5日
* @Version: V1.0
*
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户服务实现层</P>
* @version: V1.0
* @author: BianPeng
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 BianPeng V1.0 initialize
*/
@Service
public class OrderServiceImpl implements OrderService {
@Autowired
public OrderDao orderDao;
//查询对象
@Override
public Order selectByPrimaryKey(Long id) {
return orderDao.selectByPrimaryKey(id);
}
//删除对象
@Override
public int deleteByPrimaryKey(Long id) {
return orderDao.deleteByPrimaryKey(id);
}
//添加对象
@Override
public int insertSelective(Order order) {
return orderDao.insertSelective(order);
}
//修改对象
@Override
public int updateByPrimaryKeySelective(Order order) {
return orderDao.updateByPrimaryKeySelective(order);
}
public class UserServiceImpl extends ServiceImpl<UserDao, User> implements UserService {
//查询集合
@Override
public List<Order> queryOrderList(Order order) {
return orderDao.queryOrderList(order);
}
//分页查询
@Override
public PageInfo<Order> getOrderBySearch(AppPage<Order> page) {
// TODO Auto-generated method stub
PageHelper.startPage(page.getPageNum(),page.getPageSize());
List<Order> list=orderDao.queryOrderList(page.getParam());
PageInfo<Order> pageInfo = new PageInfo<Order>(list);
return pageInfo;
}
}
```
# 生成的CONTROLLER
``` java
/**
* @filename:OrderController 2018年7月5日
* @project deal-center V1.0
* Copyright(c) 2018 BianP Co. Ltd.
* All right reserved.
*/
package com.xin.dealcenter.webApi;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.item.util.JsonResult;
import com.xin.usercenter.entity.User;
import com.xin.usercenter.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageInfo;
import com.item.util.AppPage;
import com.item.util.JsonResult;
import com.xin.dealcenter.entity.Order;
import com.xin.dealcenter.service.OrderService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户API接口层</P>
* @version: V1.0
* @author: BianPeng
*
* @Description: 订单接口层
* @Author: BianP
* @CreateDate: 2018年7月5日
* @Version: V1.0
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 BianPeng V1.0 initialize
*/
@Api(description = "订单",value="订单" )
@Api(description = "用户",value="用户" )
@RestController
@RequestMapping("/order")
public class OrderController {
@RequestMapping("/user")
public class UserController {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
public OrderService orderServiceImpl;
public UserService userServiceImpl;
/**
* @explain 查询订单对象 <swagger GET请求>
* @explain 查询用户对象 <swagger GET请求>
* @param 对象参数:id
* @return order
* @author BianP
* @time 2018年7月5
* @return user
* @author BianPeng
* @time 2019年4月9
*/
@GetMapping("/getOrderById/{id}")
@ApiOperation(value = "获取订单信息", notes = "获取订单信息[order],作者:BianP")
@ApiImplicitParam(paramType="path", name = "id", value = "订单id", required = true, dataType = "Long")
public JsonResult getOrderById(@PathVariable("id")Long id){
JsonResult result=new JsonResult();
@GetMapping("/getUserById/{id}")
@ApiOperation(value = "获取用户信息", notes = "获取用户信息[user],作者:BianPeng")
@ApiImplicitParam(paramType="path", name = "id", value = "用户id", required = true, dataType = "Long")
public JsonResult<User> getUserById(@PathVariable("id")Long id){
JsonResult<User> result=new JsonResult<User>();
try {
Order order=orderServiceImpl.selectByPrimaryKey(id);
if (order!=null) {
result.setCode(1);
User user=userServiceImpl.getById(id);
if (user!=null) {
result.setType("success");
result.setMessage("成功");
result.setData(order);
result.setData(user);
} else {
logger.error("获取订单失败ID:"+id);
result.setCode(-1);
result.setMessage("你获取的订单不存在");
logger.error("获取用户失败ID:"+id);
result.setType("fail");
result.setMessage("你获取的用户不存在");
}
} catch (Exception e) {
logger.error("获取订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
logger.error("获取用户执行异常:"+e.getMessage());
result=new JsonResult<User>(e);
}
return result;
}
/**
* @explain 添加订单对象
* @param 对象参数:order
* @explain 添加或者更新用户对象
* @param 对象参数:user
* @return int
* @author BianP
* @time 2018年7月5
* @author BianPeng
* @time 2019年4月9
*/
@PostMapping("/insertSelective")
@ApiOperation(value = "添加订单", notes = "添加订单[order],作者:BianP")
public JsonResult insertSelective(Order order){
JsonResult result=new JsonResult();
@ApiOperation(value = "添加用户", notes = "添加用户[user],作者:BianPeng")
public JsonResult<User> insertSelective(User user){
JsonResult<User> result=new JsonResult<User>();
try {
int rg=orderServiceImpl.insertSelective(order);
if (rg>0) {
result.setCode(1);
boolean rg=userServiceImpl.saveOrUpdate(user);
if (rg) {
result.setType("success");
result.setMessage("成功");
result.setData(order);
result.setData(user);
} else {
logger.error("添加订单执行失败:"+order.toString());
result.setCode(-1);
logger.error("添加用户执行失败:"+user.toString());
result.setType("fail");
result.setMessage("执行失败,请稍后重试");
}
} catch (Exception e) {
logger.error("添加订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
logger.error("添加用户执行异常:"+e.getMessage());
result=new JsonResult<User>(e);
}
return result;
}
/**
* @explain 删除订单对象
* @explain 删除用户对象
* @param 对象参数:id
* @return int
* @author BianP
* @time 2018年7月5
* @author BianPeng
* @time 2019年4月9
*/
@PostMapping("/deleteByPrimaryKey")
@ApiOperation(value = "删除订单", notes = "删除订单,作者:BianP")
@ApiImplicitParam(paramType="query", name = "id", value = "订单id", required = true, dataType = "Long")
public JsonResult deleteByPrimaryKey(Long id){
JsonResult result=new JsonResult();
@ApiOperation(value = "删除用户", notes = "删除用户,作者:BianPeng")
@ApiImplicitParam(paramType="query", name = "id", value = "用户id", required = true, dataType = "Long")
public JsonResult<Object> deleteByPrimaryKey(Long id){
JsonResult<Object> result=new JsonResult<Object>();
try {
int reg=orderServiceImpl.deleteByPrimaryKey(id);
if (reg>0) {
result.setCode(1);
boolean reg=userServiceImpl.removeById(id);
if (reg) {
result.setType("success");
result.setMessage("成功");
result.setData(id);
} else {
logger.error("删除订单失败ID:"+id);
result.setCode(-1);
result.setMessage("执行错误,请稍后重试");
}
} catch (Exception e) {
logger.error("删除订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
}
return result;
}
/**
* @explain 修改订单对象
* @param 对象参数:order
* @return order
* @author BianP
* @time 2018年7月5日
*/
@ApiOperation(value = "修改订单", notes = "修改订单[order],作者:BianP")
@PostMapping("/updateByPrimaryKeySelective")
public JsonResult updateByPrimaryKeySelective(Order order){
JsonResult result=new JsonResult();
try {
int reg = orderServiceImpl.updateByPrimaryKeySelective(order);
if (reg>0) {
result.setCode(1);
result.setMessage("成功");
result.setData(order);
} else {
logger.error("修改订单失败ID:"+order.toString());
result.setCode(-1);
logger.error("删除用户失败ID:"+id);
result.setType("fail");
result.setMessage("执行错误,请稍后重试");
}
} catch (Exception e) {
logger.error("修改订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
}
return result;
}
/**
* @explain 获取匹配订单
* @param 对象参数:order
* @return List<Order>
* @author BianP
* @time 2018年7月5日
*/
@ApiOperation(value = "条件查询订单", notes = "条件查询[order],作者:BianP")
@PostMapping("/queryOrderList")
public JsonResult queryOrderList(Order order){
JsonResult result=new JsonResult();
try {
List<Order> list = orderServiceImpl.queryOrderList(order);
result.setCode(1);
result.setMessage("成功");
result.setData(list);
} catch (Exception e) {
logger.error("获取订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
logger.error("删除用户执行异常:"+e.getMessage());
result=new JsonResult<Object>(e);
}
return result;
}
/**
* @explain 分页条件查询订单
* @param 对象参数:AppPage<Order>
* @return PageInfo<Order>
* @author BianP
* @time 2018年7月5
* @explain 分页条件查询用户
* @param 对象参数:AppPage<User>
* @return PageInfo<User>
* @author BianPeng
* @time 2019年4月9
*/
@GetMapping("/getPageOrder")
@ApiOperation(value = "分页查询", notes = "分页查询返回对象[PageInfo<Order>],作者:边鹏")
@GetMapping("/getUserPages")
@ApiOperation(value = "分页查询", notes = "分页查询返回对象[IPage<User>],作者:边鹏")
@ApiImplicitParams({
@ApiImplicitParam(paramType="query", name = "pageNum", value = "当前页", required = true, dataType = "int"),
@ApiImplicitParam(paramType="query", name = "pageSize", value = "页行数", required = true, dataType = "int")
})
public JsonResult getOrderBySearch(Integer pageNum,Integer pageSize){
JsonResult result=new JsonResult();
AppPage<Order> page =new AppPage<Order>();
page.setPageNum(pageNum);
page.setPageSize(pageSize);
//其他参数
Order order=new Order();
page.setParam(order);
public JsonResult<Object> getUserPages(Integer pageNum,Integer pageSize){
JsonResult<Object> result=new JsonResult<Object>();
Page<User> page=new Page<User>(pageNum,pageSize);
QueryWrapper<User> queryWrapper =new QueryWrapper<User>();
//分页数据
try {
PageInfo<Order> pageInfo = orderServiceImpl.getOrderBySearch(page);
result.setCode(1);
//List<User> list=userServiceImpl.list(queryWrapper);
IPage<User> pageInfo=userServiceImpl.page(page, queryWrapper);
result.setType("success");
result.setMessage("成功");
result.setData(pageInfo);
} catch (Exception e) {
logger.error("分页查询订单执行异常:"+e.getMessage());
result.setCode(-1);
result.setMessage("执行异常,请稍后重试");
logger.error("分页查询用户执行异常:"+e.getMessage());
result=new JsonResult<Object>(e);
}
return result;
}
}
```
看到这里,大家应该能看出,这个代码生成只适合一些特定的项目,首先是springboot,其次是使用的mybatis和pagehelper,并使用了swagger与lombok。
看到这里,大家应该能看出,这个代码生成只适合一些特定的项目,不过确实为了那些喜欢lombok,swagger的猿们减少了很多不必要的工作。
一些朋友在问我JsonResult类:
``` java
import java.io.Serializable;
import java.net.ConnectException;
import java.sql.SQLException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 用户服务层</P>
* @version: V1.0
* @author: BianPeng
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------*
* 2019/4/9 flying-cattle V1.0 initialize
*/
public class JsonResult<T> implements Serializable{
Logger logger = LoggerFactory.getLogger(this.getClass());
private static final long serialVersionUID = 1071681926787951549L;
/**
* <p>返回状态</p>
*/
private Boolean isTrue=true;
/**
*<p> 状态码</p>
*/
private String code;
/**
* <p>业务码</p>
*/
private String type;
/**
*<p> 状态说明</p>
*/
private String message;
/**
* <p>返回数据</p>
*/
private T data;
public Boolean getTrue() {
return isTrue;
}
public void setTrue(Boolean aTrue) {
isTrue = aTrue;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
/**
* <p>返回成功</p>
* @param type 业务码
* @param message 错误说明
* @param data 数据
*/
public JsonResult(String type, String message, T data) {
this.isTrue=true;
this.code ="0000";
this.type=type;
this.message = message;
this.data=data;
}
public JsonResult() {
this.isTrue=true;
this.code ="0000";
}
public JsonResult(Throwable throwable) {
logger.error(throwable+"tt");
this.isTrue=false;
if(throwable instanceof NullPointerException){
this.code= "1001";
this.message="空指针:"+throwable;
}else if(throwable instanceof ClassCastException ){
this.code= "1002";
this.message="类型强制转换异常:"+throwable;
}else if(throwable instanceof ConnectException){
this.code= "1003";
this.message="链接失败:"+throwable;
}else if(throwable instanceof IllegalArgumentException ){
this.code= "1004";
this.message="传递非法参数异常:"+throwable;
}else if(throwable instanceof NumberFormatException){
this.code= "1005";
this.message="数字格式异常:"+throwable;
}else if(throwable instanceof IndexOutOfBoundsException){
this.code= "1006";
this.message="下标越界异常:"+throwable;
}else if(throwable instanceof SecurityException){
this.code= "1007";
this.message="安全异常:"+throwable;
}else if(throwable instanceof SQLException){
this.code= "1008";
this.message="数据库异常:"+throwable;
}else if(throwable instanceof ArithmeticException){
this.code= "1009";
this.message="算术运算异常:"+throwable;
}else if(throwable instanceof RuntimeException){
this.code= "1010";
this.message="运行时异常:"+throwable;
}else if(throwable instanceof Exception){
logger.error("未知异常:"+throwable);
this.code= "9999";
this.message="未知异常"+throwable;
}
}
}
```
......@@ -6,7 +6,6 @@
*/
package ${daoUrl};
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import ${entityUrl}.${entityName};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment