fastmybatis MyBatis 简化开发框架开源项目

我要开发同款
匿名用户2018年06月20日
57阅读

技术信息

开源地址
https://gitee.com/durcframework/fastmybatis
授权协议
MIT

作品详情

fastmybatis是一个mybatis开发框架,目的为简化mybatis的开发,让开发更高效。

零配置快速上手

无需编写xml文件即可完成CRUD操作

支持mysql,sqlserver,oracle,postgresql,sqlite

支持自定义sql,sql语句可以写在配置文件中,同样支持mybatis标签

支持与sprig-boot集成

轻量级,无侵入性,可与传统mybatis用法共存

fastmybatis与MyBatisgeerator对比

快速开始(sprigboot)

新建一个sprigboot项目

pom.xml添加fastmybatis-sprig-boot-starter

<depedecy>    <groupId>et.oschia.durcframework</groupId>    <artifactId>fastmybatis-sprig-boot-starter</artifactId>    <versio>1.0.2</versio></depedecy>

假设数据库有张t_user表,添加对应的实体类TUser.java和MapperTUserMapper.java

在applicatio.propertis中配置数据库连接

编写测试用例

@AutowiredTUserMapper mapper;    // 根据主键查询@Testpublic void testGetById() {    TUser user = mapper.getById(3);    System.out.pritl(user);}Mapper方法列表/** * 根据对象查询,可以传主键值,也可以传整个对象 *  * @param id * @retur 返回实体对象,没有返回ull */Etity getById(ID id);/** * 根据条件查找单条记录 * @param query 查询条件 * @retur 返回实体对象,没有返回ull */Etity getByQuery(@Param("query")Query query);/** * 根据字段查询一条记录 * @param colum 数据库字段名 * @param value 字段值 * @retur 返回实体对象,没有返回ull */Etity getByColum(@Param("colum")Strig colum,@Param("value")Object value);/** * 查询总记录数 *  * @param query 查询条件 * @retur 返回总记录数 */log getCout(@Param("query")Query query);  /** * 根据字段查询集合 * @param colum 数据库字段名 * @param value 字段值 * @retur 返回实体对象集合,没有返回空集合 */List<Etity> listByColum(@Param("colum")Strig colum,@Param("value")Object value);/** * 条件查询 *  * @param query 查询条件 * @retur 返回实体对象集合,没有返回空集合 */List<Etity> list(@Param("query")Query query);/** * 查询指定字段结果 * @param colums 返回的字段 * @param query 查询条件 * @retur 返回结果集 */List<Map<Strig, Object>> listMap(@Param("colums")List<Strig> colums, @Param("query")Query query);/** * 新增,新增所有字段 *  * @param etity * @retur 受影响行数 */it save(Etity etity);/** * 新增(忽略ull数据) * @param etity * @retur 受影响行数 */it saveIgoreNull(Etity etity);/** * 批量添加,只支持mysql,sqlserver2008及以上数据库.<br> * <strog>若要兼容其它版本数据库,请使用saveMulti()方法</strog> * @param etitys * @retur */it saveBatch(@Param("etitys")List<Etity> etitys);/** * 批量添加,兼容更多的数据库版本.<br> * 此方式采用uio all的方式批量isert,如果是mysql或sqlserver2008及以上推荐saveBatch()方法. * @param etitys * @retur */it saveMulti(@Param("etitys")List<Etity> etitys);/** * 修改,修改所有字段 *  * @param etity * @retur 受影响行数 */it update(Etity etity);/** * 根据主键更新不为ull的字段 *  * @param etity * @retur 受影响行数 */it updateIgoreNull(Etity etity);/** * 根据条件批量更新 *  * @param etity 待更新的数据,可以是实体类,也可以是Map{@literal<Strig,Object>} * @param query 更新条件 * @retur 受影响行数 */it updateByQuery(@Param("etity") Object etity, @Param("query") Query query);/** * 删除 *  * @param etity * @retur 受影响行数 */it delete(Etity etity);/** * 根据id删除 *  * @param id 主键id * @retur 受影响行数 */it deleteById(ID id);/** * 根据条件删除 *  * @param query * @retur 受影响行数 */it deleteByQuery(@Param("query")Query query);Query查询对象查询姓名为张三,并且年龄为22岁的用户:Query query = ew Query().eq("userame","张三").eq("age",22);List<User> users = mapper.list(query);查询年龄为10,20,30的用户:Query query = ew Query().i("age",Arrays.asList(10,20,30));List<User> users = mapper.list(query);查询注册日期大于2017-11-11的用户:Date regDate = ...Query query = ew Query().gt("reg_date",regDate);List<User> users = mapper.list(query);查询性别为男的,年龄大于等于20岁的用户,按年龄降序:Query query = ew Query().eq("geder",1).ge("age",20).orderby("age",Sort.DESC);List<User> users = mapper.list(query);分页查询:Query query = ew Query().eq("age",10).page(1,10); // 第一页,每页10条数据List<User> users = mapper.list(query);查询总记录数:Query query = ew Query().eq("age",10).page(1,10); // 第一页,每页10条数据log total = mapper.getCout(query); // 该条件下总记录数

完整的测试用例,点击前往

功能介绍

fastmybatis是一个mybatis开发框架,目的为简化mybatis的开发,让开发更高效。 零配置快速上手 无需编写xml文件即可完成CRUD操作 支持mysql,sqlserver,o...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论