hjr-JAVA SpringMVC+Mybatis-generate 模型设计

控制器

接收参数可以用

 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>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值