栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MybatisMybatis-plus笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MybatisMybatis-plus笔记

Mybatis 第一章 框架的概述 1.三层架构

mvc: web开发中,使用MVC架构模式。m:数据,v:视图,c:控制器。

​ c控制器:接受请求,调用service对象,显示请求的处理结果。当前使用servlet作为控制器。

​ v视图:现在使用jsp,HTML,css,js。显示请求的处理结果,把m中数据显示出来

​ m数据:来着数据库MySQL,来自文件,来自网络。

MVC作用:

​ 1)实现解耦

​ 2)让MVC各负其职

​ 3)使的系统扩展更好,更容易维护。

三层架构:

​ 1.界面层(视图层):接收用户的请求,调用service,显示请求的处理结果的。包含了jsp,HTML,servlet等对象, 对应包controller。

​ 2.业务逻辑层:处理业务逻辑,使用算法处理数据。把数据返回界面层。对应的是service包和包中的很多的XXXService类。

​ 3.持久层(数据库访问层):访问数据库,或者读取文件,访问网络,对应的包是dao。dao包中包含了很多的XXXDao。

2.三层架构请求的处理流程

用户发起请求—>界面层—>业务逻辑层----->持久层------>数据库

3.为什么要使用三层

1.结构清晰,耦合度低,各层分工明确。

2.可维护性高,可扩张性高

3.有利于标准化

4.开发人员可以只关注整个结构中的其中某一层的功能实现

5.有利于各层逻辑的复用

4.三层架构模式和框架

每一层对应着一个框架

​ 1)界面层-- SpringMVC框架

​ 2)业务层–Spring框架

​ 3) 持久层–Mybatis框架

5.Mybatis框架

​ Mybatis是一个优秀的基于Java的持久层框架,内部封装了jdbc,开发者只需要关注sql语句本身,而不需要处理加载驱动、创建连接、创建statement、关闭连接。

6.框架

1)什么是框架(framework)

​ 框架:就是一个软件,完成了部分的功能。软件中的类和类之间的方法调用都已经规定好了。通过这些可以完成某些功能。框架看做是模板。

​ 框架是可以升级的、改造的。框架是安全的。

​ 框架是对某一方面有用的,不是全能的。

7.框架解决的问题

1)框架能实现技术的整合。

2)框架能够提高开发效率,降低难度。

8. Mybatis-plus配置日志文件

第一种:

mybatis-plus:
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
	#配置日志文件
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 

第二种:

 @Bean("sqlSessionFactory")
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        // 导入mybatissqlsession配置
        MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
        // 指明数据源
        sessionFactory.setDataSource(multipleDataSource(dataSource0(), dataSource1(), dataSource2()));
        // 指明mapper.xml位置(配置文件中指明的xml位置会失效用此方式代替,具体原因未知)
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/**Mapper.xml"));
        // 指明实体扫描(多个package用逗号或者分号分隔)
        sessionFactory.setTypeAliasesPackage("gsa.geographic.system.entity");
        // 导入mybatis配置
        MybatisConfiguration configuration = new MybatisConfiguration();
        configuration.setJdbcTypeForNull(JdbcType.NULL);
        configuration.setMapUnderscoreToCamelCase(true);
        configuration.setCacheEnabled(false);
        // 配置打印sql语句
        configuration.setLogImpl(StdOutImpl.class);
        sessionFactory.setConfiguration(configuration);
        // 添加分页功能
        sessionFactory.setPlugins(new Interceptor[]{
                paginationInterceptor()
        });
        // 导入全局配置
        sessionFactory.setGlobalConfig(globalConfiguration());
        return sessionFactory.getObject();
    }​
9.原生分页(IPage)
 Page page=new Page(pageNum,pageSize);
 IPage iPage=loginMapper.selectLoginInfo(page,searchInfo);

注意事项:

  • Dao/Mapper层返回数据格式为IPage 对象
  • 持久层方法Page必须为第一个参数,不然会报异常
Mybatis-puls–多表分页查询(使用QueryWrapper)
  • controller层
 @PostMapping("get-leave-info")
    public Response getLeaveInfo(@RequestBody LeaveEntity entity){
        if ("".equals(entity.getPageNum()) || null == entity.getPageNum() || null == entity.getPageSize())
            return ResponseUtil.failed(StatusCode.FAIL_PAGE);
        IPage iPage=leaveService.getLeaveInfo(entity);
        return ResponseUtil.success(iPage);
    }
  • Service-impl
 @Override
    public IPage getLeaveInfo(LeaveEntity entity) {
        Page page=new Page<>(entity.getPageNum(),entity.getPageSize());
        QueryWrapper queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("e.del",entity.getDel());
        IPage iPage = leaveMapper.getLeaveInfo(page,queryWrapper);
        return iPage;
    }
  • Mapper
IPage getLeaveInfo(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper wrapper);
  • xml
 
        
        
        
        
        
        
        
        
        
        
        
        
        
            
            
            
            
            
            
        
    
     


  • QueryWrapper 条件查询

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLBbhrSt-1656057670187)(E:资料学习笔记Mybatis或Mbatis-plusimaget1.png)]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号