ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SpringBoot集成MySQL+MyBatis-1.0

2020-12-24 19:34:11  阅读:201  来源: 互联网

标签:mapper 1.0 SpringBoot pageSize mybatis result MyBatis pageNum pageInfo


yaml配置文件

  1. 连库信息
    mysql连库信息中,url拼接的参数:useUnicode=true&characterEncoding=utf-8指定字符的编码、解码格式;
    例如:MySQL数据中使用的编码是GBK;而项目中使用的是utf-8;
  • 存数据时.
    数据库中存放项目中输入的数据时,会用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码将数据存储到数据库中;

  • 取数据时:
    在从数据库中取数据的时候,数据库会先将数据用GBK解码成字节码,然后再将字节码用UTF-8格式编码数据,最后再将数据返回给客户端;

    serverTimezone时区=Asia/Shanghai

  1. 配置mybatis
  • 配置mybatis的映射路径mapper-locations
    classpath*:支持后面的表达式使用通配符;
    **代表多级目录
    mapper-locations支持配置数组, - classpath为数组中的一个元素
mybatis:
  mapper-locations:
    - classpath:mapper/*.xml
    - classpath*:com/**/mapper/*.xml
  • 扫描mapper包
@Configuration
@MapperScan("com.example.learning01.mbg.mapper")
public class MybatisConfig {
}

mybatis逆向工程

工程结构

  • 在mybatis-generator配置文件中:
<javaModelGenerator/>、<sqlMapGenerator/>、<javaClientGenerator/>

这三个的targetProject的相对路径配置规则是:
相对于工作空间的相对路径,而在Idea中每个独立项目就是一个工作空间,所以,这里的相对路径要配置成项目的文件所在位置路径。

<!--指定生成model的路径-->
<javaModelGenerator targetPackage="com.example.learning01.mbg.model" targetProject="src\main\java"/>
<!--指定生成mapper.xml的路径-->
<sqlMapGenerator targetPackage="com.example.learning01.mbg.mapper" targetProject="src\main\resources"/>
<!--指定生成mapper接口的的路径-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.learning01.mbg.mapper"
                     targetProject="src\main\java"/>

mybatis分页插件

  • 在pom文件中引入PageHelper插件
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.10</version>
</dependency>
  • 配置分页工具类
//常用
private Integer pageNum;
//常用
private Integer pageSize;

private Integer pageTotal;

private Long total;

private List<T> list;
//配置分页对象,查询结果通过调用restPage来实现分页 list为查询结果集
public static <T> CommonPagebak<T> restPage(List<T> list){
    CommonPagebak<T> result = new CommonPagebak<T>();
    PageInfo<T> pageInfo = new PageInfo<T>(list);
    result.setPageTotal(pageInfo.getPages());
    result.setPageNum(pageInfo.getPageNum());
    result.setPageSize(pageInfo.getPageSize());
    result.setTotal(pageInfo.getTotal());
    result.setList(pageInfo.getList());
    return  result;
}
  • service层启用分页插件
@Override
public List<PmsBrand> listBrand(int pageNum, int pageSize) {
    //开启分页
    PageHelper.startPage(pageNum,pageSize);
    return pmsBrandMapper.selectByExample(new PmsBrandExample());
}
  • 控制层返回分页结果
@GetMapping(value = "/list")
public CommenResult<CommonPagebak<PmsBrand>> listBrand(@RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum,
                                                       @RequestParam(value = "pageSize",defaultValue = "3") Integer pageSize) {
    List<PmsBrand> result = pmsBrandService.listBrand(pageNum,pageSize);
    return CommenResult.success(CommonPagebak.restPage(result));
}

标签:mapper,1.0,SpringBoot,pageSize,mybatis,result,MyBatis,pageNum,pageInfo
来源: https://blog.csdn.net/qq_39425564/article/details/111648872

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有