1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Mybatis 通用 Mapper 0.1.0 版发布 下载

本帖由 漂亮的石头2014-11-22 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,020
    赞:
    46
    改变Mybatis单表操作的新时代!!!

    一个极其方便的使用Mybatis单表的增删改查的通用Mapper

    有何优点?



    不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表基础操作不方便的想法,使用它你能简单的使用单表的增删改查,包含动态的增删改查.

    程序使用拦截器实现具体的执行Sql,完全使用原生的Mybatis进行操作.

    你还在因为数据库表变动重新生成xml吗?还是要手动修改自动生成的insert|update|delete的xml呢?赶紧使用通用Mapper,表的变动只需要实体类保持一致,不用管基础的xml,你不止会拥有更多的时间陪老婆|孩子|女朋友|打DOTA,你也不用做哪些繁琐无聊的事情,感兴趣了吗?继续看如何使用吧!!相信这个通用的Mapper会让你更方便的使用Mybatis,这是一个强大的Mapper!!!

    不管你信不信,这个项目的测试代码中没有一个Mapper的xml配置文件,但是却可以做到每个Mapper对应上百行xml才能完成的许多功能.没有了这些基础xml信息的干扰,你将会拥有清晰干净的Mapper.xml.

    发现BUG可以提Issue,可以给我发邮件,可以加我QQ,可以进Mybatis群讨论.

    另外本人明天也会参加OSC北京举办的源创会,各位使用Mybatis的朋友大家可以一起讨论.

    作者博客:http://blog.csdn.net/isea533

    作者QQ: 120807756

    作者邮箱: abel533@gmail.com


    这里只举一个使用的例子,详细的说明和使用方法请看文档.

    这是实体类UserInfo,对应user_info表,主键字段id,使用自动增长

    public class UserInfo {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String username;
    private String password;
    private String usertype;
    private String realname;
    private String qq;
    private String email;
    private String address;
    private String tel;

    //省略getter和setter
    }

    下面是继承了通用接口的UserInfoMapper

    public interface UserInfoMapper extends Mapper<UserInfo> {
    }

    调用的例子,和平时使用的Mapper没有区别

    SqlSession sqlSession = MybatisHelper.getSqlSession();
    try {
    //获取Mapper
    UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
    UserInfo userInfo = new UserInfo();
    userInfo.setUsername("abel533");
    userInfo.setPassword("123456");
    userInfo.setUsertype("2");
    userInfo.setEmail("abel533@gmail.com");
    //新增一条数据
    Assert.assertEquals(1, mapper.insert(userInfo));
    //ID回写,不为空
    Assert.assertNotNull(userInfo.getId());
    //6是当前的ID
    Assert.assertEquals(6, (int)userInfo.getId());
    //通过主键删除新增的数据
    Assert.assertEquals(1,mapper.deleteByPrimaryKey(userInfo));
    } finally {
    sqlSession.close();
    }

    执行测试输出的日志:

    Preparing: INSERT INTO USER_INFO
    (ID,USERNAME,PASSWORD,USERTYPE,REALNAME,QQ,EMAIL,ADDRESS,TEL)
    VALUES ( ?,?,?,?,?,?,?,?,? )
    Parameters: null, abel533(String), 123456(String),
    2(String), null, null, abel533@gmail.com(String), null, null
    Updates: 1
    Executing: CALL IDENTITY()
    Columns: @p0
    Row: 6
    Total: 1
    Preparing: DELETE FROM USER_INFO WHERE (ID = ? )
    Parameters: 6(Integer)
    Updates: 1
    这是一个新生的开源项目


    首先感谢您能看到这里!

    这是一个新生的项目,一切都刚刚开始,虽然项目中包含大量的测试,但是仍然会有很多未知的bug存在,希望各位能够在使用过程中发现问题时及时反馈,欢迎各位fork本项目进行参与!
    Mybatis 通用 Mapper 0.1.0 版发布下载地址
     
正在加载...