pndao - MyBatis 辅助工具


Apache
跨平台
Java

软件简介

pndao是票牛Java团队实践一年演化出来的工具。在实际生产中减少了80%以上的重复SQL编写工作,从而把关注力转移到模型本身的制定上。结合建表语句生成插件pngen,大部分场景只需编写一个模型类即可完成DAO层工作。

特性

  1. 支持最主流的MyBatis框架,无学习成本

  2. 基于常见DAO功能定制,提供便捷的同时也可约束命名规范

  3. 修改表结构后可同步修改SQL

  4. 编译期生成XML,也可便捷支持其他框架

以下是一个常见的DAO功能:

public class UserDaoTest extends AbstractTest{
    public static final int USER_ID = 1; 
    @Autowired private UserDao userDao; 
    @Test
    public void testInsertUser() throws Exception { 
        User user = initUser(); 
        assertThat(userDao.insert(user)).isEqualTo(1); 
    } 
    @Test
    public void testFindUserById() throws Exception {
        User user = userDao.findById(USER_ID); 
        assertThat(user).isNotNull(); 
    }
    @Test
    public void testUpdateUserName() throws Exception {
        assertThat(userDao.updateForUserName("用户13700000001",USER_ID)).isEqualTo(1); }
}

基于pndao,所有需要开发的DAO只有这些:

@DaoGen public interface UserDao {
    int updateForUserName(@Param("userName") String userName, @Param("id") int id);
    int insert(User t);
    User findById(int id);
 }