1、tkMapper代码结构
tkMapper代码生成器:tkmapper插件
1.1、po 实体层
用到了四个注解:
1、@Table:这个就是你数据库的表名
2、@Id:该表的主键对应的对象属性
3、@Getter、@Setter:免去get/set方法
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Getter
@Setter
@Table(name = "po")
public class PO{
/**
* @GeneratedValue 之后代码中将对象插入数据库后会把插入后完成的对象返回来
* strategy属性:提供四种值:
*
* -AUTO主键由程序控制, 是默认选项 ,不设置就是这个
*
* -IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
*
* -SEQUENCE 通过数据库的序列产生主键, MYSQL 不支持
*
* -Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nick;
private Integer isValid;
}
1.2、dao层
这里啥都不要写,继承 Mapper就行了
import com.oper.mybatis.domain.CustomerScore;
import com.oper.mybatis.domain.CustomerScoreExt;
import com.oper.mybatis.domain.CustomerScoreExtExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
public interface POExtMapper extends Mapper<PO> {
}
1.3、service、controller层不变
建议 example 不要暴露在 controller层,在 service 层封装好之后 controller 层直接调用。
总结:
相比之前少了 dao 层的 mapper 接口 和 xml 文件;po 实体也变得简洁。