摘要:优化当我们在数据库中增加字段时,需要在对应的实体类中增加字段,中也需要去增加字段,去维护,会消耗大量的时间我们可以让接口去继承,删除接口中的所有方法,因为中都已经实现了。遇到这里问题不会报错,只要注意打印出来的语句即可。
SpringBoot集成Mybatis 自动生成实体类和Mapper 1.使用IDEA创建一个空的SpringBoot项目 2.在pom.xml中引入以下配置
3. 在application.yml中配置UTF-8 UTF-8 1.8 ${basedir}/src/main/java com.jiafly.falsework.dao com.jiafly.falsework.entity ${basedir}/src/main/resources mapper org.mybatis.spring.boot mybatis-spring-boot-starter RELEASE mysql mysql-connector-java 5.1.39 runtime tk.mybatis mapper-spring-boot-starter 1.2.3 org.springframework.boot spring-boot-maven-plugin org.mybatis.generator mybatis-generator-maven-plugin 1.3.2 ${basedir}/src/main/resources/generatorConfig.xml false true mysql mysql-connector-java 5.1.39
spring: # 数据库相关配置 datasource: url: jdbc:mysql://localhost:3306/jiafly?useUnicode=true&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true username: root password: root driver-class-name: com.mysql.jdbc.Driver initialSize: 1 minIdle: 1 maxActive: 5 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 180000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false # mybaties 配置 mybatis: mapperLocations: classpath:mapper/*.xml typeAliasesPackage: com.jiafly.libra.entity # 通用mapper 配置 自动生成dao层代码 mapper: plugin: tk.mybatis.mapper.generator.MapperPlugin Mapper: tk.mybatis.mapper.common.Mapper not-empty: false identity: MYSQL4. 在src/main/resources文件夹下创建generatorConfig.xml文件
5. 执行mybatis-generator-maven-plugin插件
执行完毕后会在 com.jiafly.libra.entity中生成实体类,com.jiafly.libra.mapper中生成dao层接口 resources.mapper中生成xml文件。
6. 优化当我们在数据库中增加字段时,需要在对应的实体类中增加字段,xml中也需要去增加字段,去维护,会消耗大量的时间
我们可以让接口去继承 Mapper
优化后的文件如下;
实体类
package com.jiafly.libra.entity; import java.util.Date; public class UserInfo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String userId; private String mobile; private String email; private String openId; private String unionId; private String userName; private String nickName; private Byte gender; private Integer age; private String city; private String province; private String country; private String password; private Byte vip; private Byte delFlag; private Date createTime; private Date updateTime; }
接口
package com.jiafly.libra.mapper; import com.jiafly.libra.entity.UserInfo; import tk.mybatis.mapper.common.Mapper; public interface UserInfoMapper extends Mapper{ }
xml
7.继承Mapper
需要在实体的主键上增加@Id注解,否则通用mapper无法识别主键,在是使用mapper的方法做更新查找等操作的时候会带上所有的条件,造成找不到数据。
遇到这里问题不会报错,只要注意打印出来的sql语句即可。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76840.html
摘要:通用是为了解决使用中的基本操作,使用它可以很方便的进行开发,可以节省开发人员大量的时间。当该参数设置为时,时会查询第一页,超过总数时,会查询最后一页。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工...
摘要:读取控制台内容请输入请输入正确的代码生成器全局配置实体属性注解数据源配置包配置这里有个模块名的配置,可以注释掉不用。 最近在研究mybatis,然后就去找简化mybatis开发的工具,发现就有通用Mapper和mybatis-plus两个比较好的可是使用,可是经过对比发现还是mybatis-plus比较好,个人觉得,勿喷。。。 集成还是非常简单的,然后就在研究怎么分页,开始研究通用ma...
摘要:前言用过的肯定很熟悉,它其中有个重要的特性,就是自动配置平时习惯的一些设置的配置作为默认配置。提倡无配置文件的理念,使用生成的应用完全不会生成任何配置代码与配置文件。 前言 用过springboot的肯定很熟悉,它其中有个重要的特性,就是自动配置(平时习惯的一些设置的配置作为默认配置)。springboot提倡无XML配置文件的理念,使用springboot生成的应用完全不会生成任何配...
springboot整合MySQL数据库(MyBatis + 分页配置) 一、POM文件添加依赖 org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 com.github.pagehelper pagehelper 4.1.0 mysql mysql-connec...
阅读 1222·2021-09-01 10:30
阅读 2099·2021-07-23 10:38
阅读 870·2019-08-29 15:06
阅读 3057·2019-08-29 13:53
阅读 3259·2019-08-26 11:54
阅读 1774·2019-08-26 11:38
阅读 2352·2019-08-26 10:29
阅读 3108·2019-08-23 18:15