Mybatis-plus多种方式实现CRUD详解

这段时间有空,学习了一些技术,以前都是用Mybatis去实现持久层,里面的有一些方法不是很方便,并且配置很麻烦,
这个时候,我找到Mybatis-plus这个技术也是Mbatis不过是他的增强版本,加了很多的功能,可以更方便的去操作数据库,其实我感觉就是加上了ORM的概念对象转换SQL,当然里面也增加了很多的插件可以更好的让我们偷懒
官网的地址:http://mp.baomidou.com/
官网上面的Mybatis-puls与Spring mvc集成的demo:https://gitee.com/baomidou/mybatisplus-spring-mvc
下载来就可以跑起来,里面的CRUD实例都是可以的
Mybatis-plus多种方式实现CRUD详解_第1张图片
这个是官方文档写好的这个是实现的一种方式,这个是使用了Mybatis-plus中的特性不需要去写sql,已经帮我们去实现了sql写的部分
只需要在DAO层继承 BaseMapper接口 和在Service层继承IService接口就可以使用Mybatis-plus提供的方法

注解实现:

基本的CRUD我们可以不需要去手写sql,复杂的我们还是手写一点比较好,虽然Mybatis-plus提供了拼接的方法,但是不好,一不小心就会出现问题,所以我们使用注解去实现sql执行操作:

@Component
public interface UserMapper extends SuperMapper {

    /**
     * 查询所有:
     * @return
     */
    @Select("SELECT * FROM user")
    public List findAll();

    /**
     * 查询数据:
     * @param userId
     * @return
     */
    @Select("SELECT * FROM user WHERE id=#{userId}")
    public User findOne(int userId);

    /**
     * 添加:
     * @param user
     */
    @Insert("INSERT INTO user(name,password) VALUES(#{name},#{password})")
    public void createUser(User user);

    /**
     * 修改:
     * @param user
     */
    @Update("UPDATE user SET name=#{name},password=#{password}")
    public void update(User user);

    /**
     * 删除:
     * @param id
     */
    @Delete("DELETE  FROM user WHERE id=#{id}")
    public void delete(int id);

这个就是在DAO层使用注解去操作数据库

XML实现:

Mybatis-puls也提供了我们使用xml的方式去操作数据库


   
   
   



   id, name, age




     INSERT  INTO  user(name,password) values(#{name},#{password})



   UPDATE  user SET name=#{name} ,password=#{password} WHERE id=#{id};



   DELETE FROM user WHERE id=#{id}

这个3中方式都是可行的,看需求和喜好去适当的选择那种方式去用那个中方法,并且Mybatis-plus中有许多的插件可以用,在项目中这些插件已经足够我们使用的了
其实在公司中,我们为了偷懒一般是自动的生成一些基本的功能,比如CRUD的操作一般都不会自己的去手写,当我们需要进行一些特定的业务的时候,才会去自己手动的写功能,不过这也是我们要学习的店,他是怎么帮我们生成,里面的实现又是什么,对象转SQL是怎么实现的,里面的一些插件的使用原理是什么,他们是怎么和框架做到耦合度这么好的?,这也是我们要考虑的问题,而不是又这么好的框架就不去思考问题,这是不对的,感兴趣的可以去官网学习。
加入群聊一起学习交流:
Mybatis-plus多种方式实现CRUD详解_第2张图片

你可能感兴趣的:(JAVA)