当前位置

网站首页> 程序设计 > 开源项目 > 编程语言 > 浏览文章

Mybatis 通用 Mapper

作者:小梦 来源: 网络 时间: 2024-03-13 阅读:

Git@OSC 的 Android 和 iOS 客户端全面开源

极其方便的使用Mybatis单表的增删改查

优点?

不客气的说,使用这个通用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群讨论.

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

这是实体类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 {//获取MapperUserInfoMapper 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是当前的IDAssert.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, nullUpdates: 1Executing: CALL IDENTITY() Columns: @p0Row: 6Total: 1Preparing: DELETE FROM USER_INFO WHERE (ID = ? ) Parameters: 6(Integer)Updates: 1


这是一个新生的开源项目

首先感谢您能看到这里!

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

git库默认使用gitosc,github作为备用,github地址为:https://github.com/abel533/Mapper

相关阅读

热点阅读

网友最爱