项目简单集成mybatis plus 一

前言: mybatis是现在国内比较流行的持久层框架,一般项目都是基于ssm.虽然mybatis可以直接在xml中使用SQL语句操作数据库,但是所有的操作都要通过xml文件,需要写大量的sql语句和xml文件,对于开发效率不是很友好。muybatis-plus就很好的解决这个问题。

一、mybatis-plus 简介:

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。下面简单的做些概述。
mybatis plus概述

  • 是对Mybatis框架的二次封装和扩展
  • 纯正血统:完全继承原生 Mybatis 的所有特性
  • 少依赖:仅仅依赖Mybatis以及Mybatis-Spring
  • 性能损耗小:启动即会自动注入基本CURD ,性能无损耗,直接面向对象操作
  • 自动热加载:Mapper对应的xml可以热加载,大大减少重启Web服务器时 间,提升开发效率
  • 全局拦截:提供全表delete、update操作智能分析阻断
  • 避免Sql注入:内置Sql注入内容剥离器,预防Sql注入攻击

二、ssm项目集成mybatis-plus

正如官方所说,mybatis-plus在mybatis的基础上只做增强不做改变,因此mybatis-plus的依赖是与mybatis的依赖不共存的,我们只需把mybatis的依赖换成mybatis-plus的依赖,再把sqlSessionFactory换成mybatis-plus的即可。

1.在pom.xml文件中引入相关依赖
	<!-- mybatis-plus begin -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatisplus-spring-boot-starter</artifactId>
            <version>${mybatisplus-spring-boot-starter.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>${mybatisplus.version}</version>
        </dependency>
        <!-- mybatis-plus end -->
2.在配置文件application.yml中添加相关配置
# Mybatis-Plus 配置
mybatis-plus:
#  mapper-locations: classpath:/mapper/*Mapper.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.***.***.pojo
  global-config:
    id-type: 1  #0:数据库ID自增   1:用户输入id
    db-column-underline: false
    refresh-mapper: true
    configuration:
      map-underscore-to-camel-case: true
      cache-enabled: true #配置的缓存的全局开关
      lazyLoadingEnabled: true #延时加载的开关
      multipleResultSetsEnabled: true #开启延时加载,否则按需加载属性
      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
3.修改启动类,增加Mapper扫描注解
@SpringBootApplication
//Mapper扫描注解
@MapperScan("com.***.***.dao")
public class ArticleApplication {
    public static void main(String[] args) {
        SpringApplication.run(ArticleApplication.class, args);
    }
}

三、例子:查询数据库中所有数据

1.创建相应的实体类
@Getter
@Setter
// 映射相对应的表
@TableName("tb_user")
public class user implements Serializable {
    @TableId(type = IdType.INPUT)
    private String id;//ID

    private String name;
    private String ad;
    private String token;
    private String headpic;
    private String restrict;
}

2.编写数据访问接口dao
public interface UserDao extends BaseMapper<user> {
}
3.编写service
@Service
public class ArticleService {@Autowired
    private UserDao userDao;public List<User> findAll() {
    	// 调用mybatis-plusAPI时发现没有find只有select,而且selectList是携带参数,当我们需要查询全部时直接传一个null值就可以。
        return userDao.selectList(null);
        
    }
}
4.编写controller
@RestController
@RequestMapping("/user")
public class UserController {@Autowired
    private UserService userService;@RequestMapping(method = RequestMethod.GET)
    public Result findAll() {
        List list = userService.findAll();
        return new Result(true, StatusCode.OK, "查询成功", list);
    }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值