1. 继承通用的Mapper<T>
,必须指定泛型<T>
例如下面的例子:
public interface UserInfoMapper extends Mapper<UserInfo> { }
一旦继承了Mapper<T>
,继承的Mapper
就拥有了Mapper<T>
所有的通用方法。
2. 泛型(实体类)<T>
的类型必须符合要求
实体类按照如下规则和数据库表进行转换,注解全部是JPA中的注解:
2.1表名默认使用类名,驼峰转下划线(只对大写字母进行处理),如UserInfo
默认对应的表名为user_info
。
2.1.1 数据库表名和实体类类名一致,不需要设置映射关系
2.1.2 数据库表名=user_info,实体类类名=
UserInfo,驼峰匹配样式不需要设置映射关系,直接通过实体类查询数据库表的数据
2.2表名可以使用@Table(name = "tableName")
进行指定,对不符合第一条默认规则的可以通过这种方式指定表名.
数据库表名为user_info,实体类类名 =
Info,需要对实体类类名加注解@table(数据库表名)改造,
例子:
@Table(name = "user_info")
//实体类 - domain
public class INfo implements Serializable{}
2.3 字段默认和@Column
一样,都会作为表字段,表字段默认为Java对象的Field
名字驼峰转下划线形式.
实体类属性名称和数据库字段名称是驼峰匹配或者一致,不需要加注解映射,同类上和数据库表名
2.4 可以使用@Column(name = "fieldName")
指定不符合第3条规则的字段名
数据库字段为user_name,实体类属性为username,不是驼峰匹配和名称相同,需要设置实体