• spring boot的主要注解(部分mybatis的注解)


     @RestController

      这个注解相当于同时添加@Controller和@ResponseBody注解。

    @Valid

      Controller层使用校验:

      public String userAdd(@Valid("ValidUserBean") ValidUserBean validUserBean)

    @EnableAutoConfiguration(Spring Boot建议只有一个带有该注解的类。)

      Spring Boot会自动根据你jar包的依赖来自动配置项目。

      例如当你项目下面有HSQLDB的依赖时,Spring Boot会创建默认的内存数据库的数据源DataSource,如果你自己创建了DataSource,Spring Boot就不会创建默认的DataSource

         如果你不想让Spring Boot自动创建,你可以配置注解的exclude属性,例如:@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

    @SpringBootApplication

      由于大量项目都会在主要的配置类上添加@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解。

      因此Spring Boot提供了@SpringBootApplication注解,该注解可以替代上面三个注解(使用Spring注解继承实现)。

      @SpringBootApplication去扫描特定的类而不是全部类,那么就可以关闭自动配置,如:@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

    @ConfigurationProperties

    把前缀为my的属性都注入进来:
    @ConfigurationProperties(prefix="my")
    @ConfigurationProperties(prefix = "book",locations = "classpath:book.properties")

    prefix是指前缀,location指定要注入文件的位置。

    @EnableScheduling// 启用定时任务

    Spring Schedule 提供三种形式的定时任务:

      固定等待时间:@Scheduled(fixedDelay = 时间间隔)

      固定间隔时间:@Scheduled(fixedRate = 时间间隔)

      Corn表达式:@Scheduled(cron = Corn表达式)

    @Scheduled(cron= "0/20 * * * * ?") // 20秒执行一次

    启动Spring Boot项目最简单的方法就是执行下面的方法:SpringApplication.run(Application.class, args);
    • mybatis的注解:

      • @Select 是查询类的注解,所有的查询均使用这个
      • @Result 修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
      • @Insert 插入数据库使用,直接传入实体类会自动解析属性到对应的值
      • @Update 负责修改,也可以直接传入对象
      • @delete 负责删除

      @Select("SELECT * FROM users")

      @Results({

      @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class),

      @Result(property = "nickName", column = "nick_name")

      })

      List<UserEntity> getAll();

    • @Select("SELECT * FROM users WHERE id = #{id}")

      @Results({

      @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class),

      @Result(property = "nickName", column = "nick_name")

      })

      UserEntity getOne(Long id);

    • @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})")

      void insert(UserEntity user);

    • @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}")

      void update(UserEntity user);

    • @Delete("DELETE FROM users WHERE id =#{id}")

      void delete(Long id);

    • @Select("Select * from teacher where name = #{name}")

      Teacher selectTeachForGivenName(@Param("name") String name);

    • @Select("Select * from teacher where name = '${name}'")

      Teacher selectTeachForGivenName(@Param("name") String name);

  • 相关阅读:
    使用SecureCRTP 连接生产环境的web服务器和数据库服务器
    CSS之浮动
    CSS之定位
    Session的过期时间如何计算?
    浏览器关闭后,Session会话结束了么?
    Spring事务注意点
    Lucene 的索引文件锁原理
    Mysql数据库的触发程序
    记一次jar包冲突
    关于jvm的OutOfMemory:PermGen space异常的解决
  • 原文地址:https://www.cnblogs.com/huqin/p/7463001.html
Copyright © 2020-2023  润新知