Mybatis通用数据层
通用Mapper, Dao, Service
适用于遵循阿里巴巴java开发规范的数据库表
- 表必备字段:
id,gmt_create,gmt_modified id必为主键, 类型为unsigned bigint, 单表时自增, 步长为1gmt_create,gmt_modified的类型均为date_time类型- 禁用保留字, 如
desc、range、match、delayed... 请参考MySQL官方保留字 - 表名、字段名必须使用小写字母或数字, 禁止出现数字开头, 禁止两个下划线中间只出现数字
简单编写实体类就可以使用了, 以下代码也可以使用代码生成器自动生成
https://github.com/GitHub-Laziji/mybatis-generator
模版选择mybatis2即可
git clone https://github.com/GitHub-Laziji/commons-mybatis.git
cd commons-mybatis
mvn install
<dependency>
<groupId>org.laziji.commons</groupId>
<artifactId>commons-mybatis</artifactId>
<version>2.0.0</version>
</dependency>对于数据库user表
public class User extends BaseDO{
private String username;
private String password;
//get set...
}public class UserQuery extends BaseQuery<User> {
private Long id;
private Date gmtCreate;
private Date gmtModified;
private String username;
private String usernameLike;
private String password;
private String passwordLike;
//get set...
}Dao和Service直接继承通用的基类 不需要写内容, 也不需要编写XML
@Mapper
public interface UserDao extends DODao<User> {
}@Service
public class UserService extends BaseDOService<User> {
}@RestController
public class UserController {
@Autowired
private DOService<User> userService;
@RequestMapping("/")
public void index(){
//userService.select(query)
//userService.selectById(id)
//userService.selectAll()
//userService.selectCount(query)
//userService.selectTotal()
//userService.selectPage(query)
//userService.update(bean)
//userService.insert(query)
//userService.delete(id)
}
}