当前位置: 首页 > news >正文

r语言网站开发源码之家打不开

r语言网站开发,源码之家打不开,京icp备案查询,网站dns设置Spring boot 集成mybatis-plus 背景 Spring boot集成mybatis后,我们可以使用mybatis来操作数据。然后,我们还是需要写许多重复的代码和sql语句,比如增删改查。这时候,我们就可以使用 mybatis-plus了,它可以极大解放我…

Spring boot 集成mybatis-plus

背景

Spring boot集成mybatis后,我们可以使用mybatis来操作数据。然后,我们还是需要写许多重复的代码和sql语句,比如增删改查。这时候,我们就可以使用 mybatis-plus了,它可以极大解放我们的生产力。

一、mybatis-plus介绍

mybatis-plus是对mybatis的功能增强,并且只做增强,不做改动,也就是说,你完全可以把mybatis-plus当作mybatis来做。

二,maven依赖

本次案例使用了8.0.11的mysql,采用了druid连接池,同时使用lombok,最后集成mybati-plus的依赖。

<!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency><!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.4</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.6</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

三、yml配置

yml中 配置了数据源和mybatis-plus的参数

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/aaa?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=trueusername: rootpassword: 123456web:resources:static-locations: classpath:/static/,file:${photo.file.dir} #暴露哪些资源可以通过项目名访问# 对于thymeleaf模板引 无效jackson:date-format: yyyy-MM-dd HH:mm:ss  #时间戳统一转换为指定格式time-zone: GMT+8  # 时区修改为东8区# mybatis-plus配置
mybatis-plus:configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath:mapper/*.xmltype-aliases-package: org.example.entity

四、项目结构

项目结构是非常简单的,典型的maven项目。
在这里插入图片描述

五、集成分页插件

mybatis-plus集成分页插件是相当简单的,只需要添加下面的配置类就可以了。

@Configuration
@MapperScan("org.example.mapper")
public class MybatisPlusConfig {/*** 添加分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbTypereturn interceptor;}
}

六、测试

我写了一个DailyReportMapper,里面有用到mybatis-plus的BaseMapper也有用到mybatis的原有方式。像注解方式和xml写sql的方式是mybatis原有功能,有了mybatis-plus,其实不需要写一行sql直接通过mapper就可以操作了。

@Mapper
public interface DailyReportMapper extends BaseMapper<DailyReport> {@Select("insert into daily_report(emp_total,device_total,device_used_num,birthday_emp_num,create_time) values(#{empTotal},#{deviceTotal},#{deviceUsedNum},#{birthdayEmpNum},NOW())")void save(DailyReport dailyReport);List<DailyReport> lists(IPage<DailyReport> page);
}

为了测试方便,我就不写service了,直接在DemoController中调用。

@Controller
@RequestMapping("demo")
@Slf4j
public class DemoController {@Autowiredprivate DailyReportMapper dailyReportMapper;@RequestMapping("demo")@ResponseBodypublic String demo(){ IPage<DailyReport> page = new Page<>(1,10);LambdaQueryWrapper<DailyReport> wrapper = new LambdaQueryWrapper<>();wrapper.eq(DailyReport::getId,111);dailyReportMapper.selectList(page,wrapper);List<DailyReport> lists = dailyReportMapper.lists(page);return "demo";}
}

页面访问url之后,日志打印如下:

DBC Connection [com.mysql.cj.jdbc.ConnectionImpl@2ca78468] will not be managed by Spring
==>  Preparing: SELECT COUNT(*) AS total FROM daily_report
==> Parameters: 
<==    Columns: total
<==        Row: 2
<==      Total: 1
==>  Preparing: select * from daily_report LIMIT ?
==> Parameters: 10(Long)
<==    Columns: id, emp_total, device_total, device_used_num, birthday_emp_num, create_time
<==        Row: 1, 4, 9, 4, 0, 2024-05-29 17:03:03
<==        Row: 2, 4, 9, 4, 0, 2024-05-30 19:38:00
<==      Total: 2

可以看到,sql正常执行,分页插件也正常运行。

总结

spring boot 集成mybatis-plus是相当简单的,集成之后,操作数据库更是得心应手。

http://www.yayakq.cn/news/831073/

相关文章:

  • 足球网站开发比较好的网站开发
  • 英语培训东莞网站建设可以自己做图的网站
  • 网站规划模板中国十大小说网站排名
  • 做的网站怎样评估价值电子商务方案设计案例
  • 专门做当归的网站建设医院官方网站
  • 网站运营推广怎么做做外贸 网站邮箱申请
  • 佛山南海建设局网站wordpress模板如何安装
  • 海晏县公司网站建设做图文网站要什么配置的服务器
  • 有没有做那事的网站生成属于自己app的软件
  • 网站用户后台是怎么做的营销型网站与普通网站的区别
  • 申请做网站 论坛版主学校网站
  • 合肥做网站123cms网站布局建设
  • 建设网站的不足建设公司网站管理制度的意义
  • 网站导航栏图标网站建设与管理专业就业
  • 通过网站做跳板服装品牌网站开发php
  • 额尔古纳做网站wordpress插件 connect
  • 建设微信网站需要服务器如意影院
  • 环球资源网商务网站建设目的企业管理咨询培训
  • 怎样申请自己的电商平台网站建设 网站优化营销型网站建设专家
  • 吴江建网站优荐苏州聚尚网络阿里巴巴网站开发工具
  • 适合vue做的网站类型新手学做网站pdf手
  • 网站后期培训机构全国排名腾讯广告投放推广平台
  • dedecms手机网站插件营销型网站的整体规划
  • 深圳开发微信公众号班级优化大师官方免费下载
  • 求个网站这么难吗2022年贴吧手机logo免费设计软件
  • 哪些网站做任务好赚钱网站建设什么语言比较好
  • 西安专业做淘宝网站的公司地方新闻门户网站源码
  • 上海模板建站公司团队建设优缺点
  • 赤峰市网站建设2022新闻热点事件简短30条
  • 代理做网站的合同专业网站建设费用