ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatis学习笔记:注解开发CRUD和Lombok

2021-11-12 22:05:45  阅读:203  来源: 互联网

标签:int CRUD Param User mybatis 注解 Lombok id user


文章目录


注解开发

  • 注解开发在接口上实现
public interface UserMapper {
   @Select("select * from user")
   List<User> getUsers();
   }
  • 核心配置文件中需要绑定接口
<mappers>
    <mapper class="com.weirdo.dao.UserMapper"/>
</mappers>
  • 原理
    本质是:反射机制实现
    底层是:动态代理

CRUD

编写接口处的注解

//方法存在多个参数,所有参数前面必须加上@Param("id")注解
   @Select("select * from user where id = #{id}")
   User getUserById(@Param("id") int id);

   @Insert("insert into user(id,name,pwd) values (#{id},#{name},#{password})")
   int addUser(User user);

   @Update("update user set name=#{name},pwd=#{password} where id = #{id}")
   int updateUser(User user);

   @Delete("delete from user where id=#{id} ")
   int deleteUser(@Param("id") int id);

测试类

  public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底层主要应用反射
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

//        User userById = mapper.getUserById(1);
//        System.out.println(userById);

//        mapper.addUser(new User(10,"yyy","123432"));

//        mapper.updateUser(new User(6,"xxx","0988"));

          mapper.deleteUser(5);
        sqlSession.close();
    }

关于@Param( )注解

  • 基本类型的参数或者String类型,需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型的话,可以忽略,但是建议大家都加上
  • 我们在SQL中引用的就是我们这里的@Param()中设定的属性名

#{ }和${ }区别

  1. 使用#{}的时候,用来传入参数,sql会在解析的时候加上"",当成字符串来解析,如#{id}=“id”
  2. #{}很大程度防止sql注入,更安全

Lombok

一个IDEA中的插件,作用是可以通过它定义的注解来精简冗长和繁琐的代码,主要针对简单的Java模型对象(POJO)。

在porn.xml中导入

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.22</version>
    </dependency>
</dependencies>

lombok的使用

@Data
@Data最常用的注解之一。注解在类上,提供该类所有属性的getter/setter方法,还提供了equals、canEqual、hashCode、toString方法。

@Data
public class User {
    private int id;
    private String name;
    private String password;
}

自动提供各种方法
在这里插入图片描述
除了@Data这种,还可以单独使用@Getter、@Setter、@ToString、@EqualsAndHashCode、@Log、@Log4j、 @Log4j2等很多注解

标签:int,CRUD,Param,User,mybatis,注解,Lombok,id,user
来源: https://blog.csdn.net/weixin_46647863/article/details/121296305

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

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

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

ICode9版权所有