2019-8-9 [Java_SpringMVC]8.@Autowired @Component @RequestMapping @RequestParam @Qualifie 等注解

20 篇文章 0 订阅

1.@Controller

Controller类中方法返回值详解

2.@Autowired

@Autowired用法

3.@Component分成三个注解

@Repository 可以把一个DAO层变成一个bean:
@Service 可以把一个service的变成bean
@controller 可以把一个controller变成一个bean

@repository的含义,并且有时候却不用写,为什么?

4.@RequestMapping

@RequestMapping的参数和用法

5.@RequestParam

Spring @RequestParam注解的使用

6. @Qualifier(“UserService”)

可以按照bean的id进行配置 给属性按名称赋值

@Autowired 注解可以按类型注入相关的属性值,但是有一个问题,按类型注入一个类型只能出现一个bean
假如说你按类型注入的时候报错了,那么你其实还可以按照BeanID的形式指定需要注入的bean
例如:

@Autowired
@Qualifier("qr1")
private QueryRunner qr;

7.modeAndView

ModeAndView

8.JPA注解

8.1 @Entity

@Entity说明这个class是实体类,并且使用默认的orm规则,即class名对应数据库表中表名,class字段名即表中的字段名。
(如果想改变这种默认的orm规则,就要使用@Table来改变class名与数据库中表名的映射规则,@Column来改变class中字段名与db中表的字段名的映射规则)

元数据属性说明:
• name: 表名

@Entity
@Table(name="ACCOUNT")
public class Account {

8.2 @Table

Table用来定义entity主表的name,catalog,schema等属性。

元数据属性说明:
• name: 表名
• catalog: 对应关系数据库中的catalog
• schema:对应关系数据库中的schema
• UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列

@Entity
@Table(name="ACCOUNT")
public class Account {

8.3 @Id

声明当前field为映射表中的主键列。
id值的获取方式有五种:TABLE(主键表), SEQUENCE(序列), IDENTITY(自增), AUTO(自动), NONE(手动指定)。
Oracle和DB2支持SEQUENCE,SQL Server和Sybase支持IDENTITY,MySQL支持AUTO。
所有的数据库都可以指定为AUTO,我们会根据不同数据库做转换。
NONE (默认)需要用户自己指定Id的值。

元数据属性说明:
• generate():主键值的获取类型
• generator():TableGenerator的名字(当generate=GeneratorType.TABLE才需要指定该属性)

此处我们是通过使用 @GeneratedValue 的性质来指定主键自增策略;
其中 strategy 代表 主键策略 GenerationType.IDENTITY 代表使用主键自增策略

@Id
@Column(name="A_ID")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer aid;		// 主键

8.4 @Column

Column元数据定义了映射到数据库的列的所有属性:列名,是否唯一,是否允许为空,是否允许更新等。

元数据属性说明:
• name:列名。
• unique: 是否唯一
• nullable: 是否允许为空
• insertable: 是否允许插入
• updatable: 是否允许更新
• columnDefinition: 定义建表时创建此列的DDL
• secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字。
此处我们使用@column 注解用来指定 属性名 和 列名的映射

@Column(name="A_NAME")
private String aname;		// 客户姓名

@Column(name="A_MONEY")
private Double money;		// 客户存款

@Column(name="A_CREATEDATE")
private Date createDate;	// 开户时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值