教师网站建设机培训体会免费下载,广州家居网站设计,文明网站的建设与管理的思考,链接制作软件#xff1a;idea 然后用spring boot 数据库用的postgersql在谈mybatis-plus之前,我先说一个开发中非常好用的插件吧。用了这款插件之后,开发起来,会快很多。他就是 ----- Mybatis plugins我这是安装好了的,没安装好之前是install,直接点就可以了。下面开始我们今天的…软件idea 然后用spring boot 数据库用的postgersql在谈mybatis-plus之前,我先说一个开发中非常好用的插件吧。用了这款插件之后,开发起来,会快很多。他就是 ----- Mybatis plugins我这是安装好了的,没安装好之前是install,直接点就可以了。下面开始我们今天的主题mybatis-plus首先先导入jar包com.baomidoumybatis-plus-boot-starter3.0.1com.baomidoumybatisplus-spring-boot-starter1.0.5org.apache.velocityvelocity-engine-core2.0然后在配置文件中配置数据源# Tomcatserver:tomcat:uri-encoding: UTF-8max-threads: 1000min-spare-threads: 30port: 8880spring:application:name: userinfo_plusdatasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: org.postgresql.Driverdruid:url: jdbc:postgresql://xx.xx.xx.xx/项目名username: postgrespassword: postgresinitial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1test-while-idle: truetest-on-borrow: falsetest-on-return: falsestat-view-servlet:enabled: trueurl-pattern: /druid/*filter:stat:log-slow-sql: trueslow-sql-millis: 1000merge-sql: truewall:config:multi-statement-allow: truemybatis:mapperLocations: classpath:mybatis/mapping/**/*.xmlconfig-location: classpath:mybatis/mybatis-config.xml#逻辑删除的状态mybatis-plus:global-config:db-config:logic-delete-value: 1logic-not-delete-value: 0数据源配置好之后新建一个包generator然后在其中新建一个类CodeGenerator(这个随便自己)自动生成,超级方便。然后运行输入你的表名,就会自动生成相应的mapper层,server层,controller层等等下面说的是个人习惯:将mapper层中加入Mapper注解(这个注解可以不加,在启动类中加入MapperScan(com.example.demo.mapper)也可以),controller层加入RestController注解。然后就可以写业务了,非常的舒服。这是一个controller的一个例子entity层的话,可以继承下Model类,然后重写pkVal方法这里面的注解什么的在下面解释下。一。 如果你的删除是逻辑删除,就在你的状态上加上TableLogic注解,然后在你的config中注入Beanpublic LogicSqlInjector logicSqlInjector(){return new LogicSqlInjector() ;}二。如果业务需要加上乐观锁,只需要在你的版本号字段上面加上Version注解,和jpa一样方便。然后在你的config中注入//乐观锁(目前只支持updateById和update方法)Beanpublic OptimisticLockerInterceptor optimisticLockerInterceptor() {return new OptimisticLockerInterceptor();}三。 分页也需要注入,不注入也可以分页吧,不过不是数据库分页,你可以看生成的sql语句就知道了。Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}TableField注解 表示要和数据库的名字一样TableField( update_time)private LocalDateTime updateTime;TableId(type IdType.AUTO) //表示mysql的自增,我用的是postgresql,所以没有试过。TableField(condition SqlCondition.LIKE)//模糊查询,不设置的话会默认。