MybatisPlus 快速上手(mybatisplus入门)

  本篇文章为你整理了MybatisPlus 快速上手(mybatisplus入门)的详细内容,包含有mybatis-plus教程 mybatisplus入门 mybatisplus dao mybatis plus怎么样 MybatisPlus 快速上手,希望能帮助你了解 MybatisPlus 快速上手。

  ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象与关系型数据库存在的互不匹配的一种技术。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的 存储设备 中(如磁盘)。

  ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。

  ORM框架的本质是简化编程中操作数据库的代码。

  Mybatis-Plus介绍

  Mybatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。

  Mybatis能够非常灵活地实现动态SQL,可以使用XML或注解来配置和映射原生信息,能够轻松地将Java的POJO(Plain Ordinary Java Object,普通的Java对象)与数据库中的表和字段进行映射关联。

  Mybatis-Plus是一个Mybatis的增强工具,在Mybatis的基础上做了增强,简化了开发

  Mybatis使用

  添加依赖(Mybatis-plus依赖了Mybatis)

  

 !-- mybatis-plus 依赖 -- 

 

   dependency

   groupId com.baomidou /groupId

   artifactId mybatis-plus-boot-starter /artifactId

   version 3.4.2 /version

   /dependency

   !-- MySQL驱动依赖 --

   dependency

   groupId mysql /groupId

   artifactId mysql-connector-java /artifactId

   version 5.1.47 /version

   /dependency

   !-- Druid连接池 --

   dependency

   groupId com.alibaba /groupId

   artifactId druid-spring-boot-starter /artifactId

   version 1.1.20 /version

   /dependency

  

 

  


spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

 

  spring.datasource.driver-class-name=com.mysql.jdbc.Driver

  spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false

  spring.datasource.username=root

  spring.datasource.password=123456

  mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

  

 

  添加@MapperScan注解(这是扫描器),用于指定Mapper包的地址,加在Application启动类中

  

@SpringBootApplication

 

  @MapperScan("com.pikaqiu.mp_demo.mapper") // 这个是全包名,直接复制比较好,在Mapper包下右键点击Copy Path...--- 6.Copy Reference即可

  public class MpDemoApplication {

   public static void main(String[] args) {

   SpringApplication.run(MpDemoApplication.class, args);

  

 

  Mybatis CRUD注解

  
CRUD操作

  编写UserMapper接口,加入增删改查方法声明,至于实现由Mybatis自动完成。

  
public interface UserMapper {

  //查询所有用户 让方法生效要用@Select注解,注解里面写sql语句

   @Select("select * from user")

   public List User find();

  

 

 

  控制器实现:创建UserController控制器,在控制器中注入UserMapper实例,注意:一定要添加@MapperScan注解,否则无法注入mapper实例!!!

  

@RestController

 

  public class UserController {

   @Autowired //实现对象注入,然后下面就可以调用userMapper.find()了

   private UserMapper userMapper;

   @GetMapping("/user")

   public List query(){

   List User list = userMapper.find();

   System.out.println(list);

   return list;

  

 

  !!在insert操作中遇到的小问题:

  注意insert的sql语句里面的valus里面的每个参数位置要与数据库的位置一致,前后顺序要一样:

  比如:数据库里面的表的字段顺序:

  那么sql语句的写法要像这样:

  

 @Insert("insert into user values(#{username}, #{password}, #{birthday}, #{id})")

 

   public int insert(User user);//方法的返回值代表插入了几条记录,如果失败,则返回值为0

  

 

  Mybatis-Plus使用

  Mybatis-plus对单表操作在Mybatis的基础上做了简化,一些增删改查可以这样来完成:

  让UserMapper接口继承BaseMapper类,这个类是Mybatis-plus提供的

  Mybatis-plus官网:简介 MyBatis-Plus (baomidou.com)

  

package com.pikaqiu.mp_demo.mapper;

 

  import com.baomidou.mybatisplus.core.mapper.BaseMapper;

  @Mapper //表明这是一个Mapper组件

  public interface UserMapper extends BaseMapper User {//告诉Mybatis-plus要操作User类

  /*//查询所有用户 让方法生效要用@Select注解,注解里面写sql语句

   @Select("select * from user")

   public List User find();

   @Insert("insert into user values(#{username}, #{password}, #{birthday}, #{id})")

   public int insert(User user);//方法的返回值代表插入了几条记录,如果失败,则返回值为0*/

  

 

  Mybatis一些注解的作用

  
@TableName("tablename") //当数据库表名与实体类名不一致时,可以用这个注解来告诉实体类对应哪个表。此注解加在实体类上方。

  @TableId(type = IdType.AUTO) //说明自增主键,添加在自增主键字段上方,当再插入数据时,用户对象就会自动带上这个主键

  以上就是MybatisPlus 快速上手(mybatisplus入门)的详细内容,想要了解更多 MybatisPlus 快速上手的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: