控制器
接收参数可以用
public WarpJson fun(@RequestBody ModelVo modelVo,@RequestParam("id") String projectId,Integer page, Integer size){
ModelDTO modelDTO = mapper.query();
}
此处 @RequestBody 和 @RequestParam 可以共存
@RequestBody 用postman测试需要 进入 body -> raw 然后输入json,同时选择JSON(application/json)
@RequestParam 直接输入 key value形式的参数即可
ModelVo
此model 是前端传递复杂数据的模型,也可以使用model,但是那样一般需要在model中加入分页信息等参数,有时不需要完整的model时使用单独的Vo具有更好的可维护性
WarpJson
此类为返回值的包装类,一般封装了,返回编码,错误与否,错误信息等
Integer page, Integer size
所有分页插件都要传递的页数 和 每页显示条数
一般后台需要查询两次,一次分页list,一次count全部数据条数
ModelDTO
一般继承了基本model,可以拓展一些属性,如page,size,查询条件等
可以取代mybatis的resultMap
可以避免最后使用map获取取到的返回结果
xxxExtMapper.xml 和 xxxExtMapper.class
为mapper的拓展类,和拓展xml
因为用mybatis-generate自动生成mybatis相关文件后会覆盖已有文件
所以xxxExtMapper.class 继承原有mapper.class,并在里面写相关拓展代码
xxxExtMapper.xml 只需要把命名空间改为xxxExtMapper.class
然后在服务层 注入Mapper的地方改为注入xxxExtMapper即可
mybatis-generate
然后统一使用该工具生成dao mapper等文件
配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="C:/Users/hjr/.m2/repository\mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar" />//此处需要修改为自己jar包路径
<context id="mysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://"
userId="" password="">//此处为数据库地址账号密码
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.xxx.xxx" targetProject="src/main/java">//此处修改为想要生成model的包路径
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.xxx.xxx" targetProject="src/main/java">//此处修改为想要生成mapper的包路径
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.xxx"//此处修改为想要生成mapper的包路径 targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
//此处修改为 表名和model
<table tableName="table_name" domainObjectName="TableName" >
<generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
</context>
</generatorConfiguration>