mybatis之@Table和@Column注解

背景

假如我们使用mybatis有时候会看到@Table和@Column注解注解,@Table通常写着表的名字,@Column注解写着对应数据库字段的值,在一开始我以为它们是用来做数据库表和实体类映射的,比如说通过mybatis从数据库查询,然后结果集和实体类字段映射,但是实际上并不是这样的,它们的映射在查询的时候实际并没有起到作用,最起码在mybatis中这样的。假如mybatis开启了驼峰规则,mybatis在获得查询结果的时候,会把每个列中带下划线的首字母转成代写,如数据库的字段是user_name,那么mybatis会将user_name变为userName,然后和实体类中的名为userName的属性进行映射,此时如果你的实体类属性userame写着@Column(name = “user_ame” ),这样你的实体类属性userame是获取不到值的。

实际用处

  • 通过实体类生成表,使用@Table标注表名,@Column标注列名,然后通过实体类生成表
  • 在tk-mybatis中使用,tk-mybatis是基于mybatis封装的框架,里面自定义了很多基础的增删改拆函数,如果我们使用了自带的函数,实体类需要用使用@Table标注表名,@Column标注列名,这里的核心是我们用了别人函数自带的,如果是我们自己在mapper里写的函数,那么@Table标注表名,@Column标注列名依旧不起作用

你可能感兴趣的:(mybatis,mybatis,oracle,数据库)