easymybatis Mybatis 增强类库开源项目

我要开发同款
匿名用户2017年08月22日
110阅读

技术信息

开源地址
https://github.com/ai/nanoid
授权协议
Apache

作品详情

easymybatis是一个mybatis增强类库,目的为简化mybatis的开发,让开发更高效。

easymybatis的特性如下:

无需编写xml文件即可完成CRUD操作。支持多表查询、聚合查询、分页查询(支持多种数据库)。支持批量添加,指定字段批量添加。支持Dao层访问控制,如某个dao只有查询功能,某个dao有crud功能等。支持自定义sql,sql语句可以写在配置文件中,同样支持mybatis标签。支持mysql,sqlserver,oracle,其它数据库扩展方便(增加一个模板文件即可)。使用方式不变,与Sprig集成只改了一处配置。轻量级,无侵入性,可与传统mybatis用法共存。没有修改框架源码(无插件),采用动态代码生成实现功能。架构组成

easymybatis的架构如下:

运行流程

easymybatis的运行流程图:

服务器启动的时候easymybatis负责扫描Dao.java。扫描完成后解析出Dao.class以及实体类Etity.class。代码生成组件根据Dao.class和Etity.class生成mapper文件内容,生成方式由velocity模板指定。把mapper文件内容转化成Resource对象设置到SqlSessioFactory中。快速开始1创建sprigboot项目

访问https://start.sprig.io/ 生成一个sprigboot空项目,输入Group,Artifact点生成即可,如图: 点击GeerateProject,下载demo.zip

2导入项目

将下载的demo.zip解压,然后导入项目。eclipse中右键->Import...->ExistigMaveProject,选择项目文件夹。导入到eclipse中后等待mave相关jar包下载。

3添加mave依赖

jar包下载完成后,打开pom.xml,添加如下依赖:

et.oschia.durcframeworkeasymybatis-sprig-boot-starter1.4.5org.sprigframework.bootsprig-boot-starter-webmysqlmysql-coector-javarutime4添加数据库配置

在applicatio.properties中添加数据库配置

sprig.datasource.driver-class-ame=com.mysql.jdbc.Driversprig.datasource.url=jdbc:mysql://localhost:3306/stu?useUicode=true&characterEcodig=utf-8&zeroDateTimeBehavior=covertToNullsprig.datasource.userame=rootsprig.datasource.password=root5添加Java文件

假设数据库中有张t_user表,DDL如下:

CREATETABLE`t_user`(`id`it(11)NOTNULLAUTO_INCREMENTCOMMENT'ID',`userame`varchar(255)DEFAULTNULLCOMMENT'用户名',`state`tiyit(4)DEFAULTNULLCOMMENT'状态',`isdel`bit(1)DEFAULTNULLCOMMENT'是否删除',`remark`textCOMMENT'备注',`add_time`datetimeDEFAULTNULLCOMMENT'添加时间',PRIMARYKEY(`id`))ENGINE=IoDBDEFAULTCHARSET=utf8COMMENT='用户表';

我们加入对应的实体类和Dao:

TUser.java:@Table(ame="t_user")publicclassTUser{@Id@Colum(ame="id")@GeeratedValue(strategy=GeeratioType.IDENTITY)privateItegerid;//IDprivateStriguserame;//用户名privateBytestate;//状态privateBooleaisdel;//是否删除privateStrigremark;//备注privateDateaddTime;//添加时间//省略gettersetter}

实体类文件采用和hiberate相同的方式,您可以使用我们的代码生成工具生成 https://gitee.com/durcframework/easymybatis-geerator

TUserDao.java:publiciterfaceTUserDaoextedsCrudDao{}

TUserDao继承CrudDao即可,这样这个Dao就拥有了CRUD功能。

6添加测试用例publicclassTUserDaoTestextedsDemoApplicatioTests{@AutowiredTUserDaodao;@TestpublicvoidtestIsert(){TUseruser=ewTUser();user.setIsdel(false);user.setRemark("testIsert");user.setUserame("张三");dao.save(user);System.out.pritl("添加后的主键:"+user.getId());}@TestpublicvoidtestGet(){TUseruser=dao.get(3);System.out.pritl(user);}@TestpublicvoidtestUpdate(){TUseruser=dao.get(3);user.setUserame("李四");user.setIsdel(true);iti=dao.update(user);System.out.pritl("testUpdate-->"+i);}@TestpublicvoidtestDel(){TUseruser=ewTUser();user.setId(3);iti=dao.del(user);System.out.pritl("del-->"+i);}}

然后运行单元测试,运行成功后表示项目已经搭建完毕了。

更多例子可参考TUserDaoTest.java。重点关注Dao,Query对象即可。

如果您不想从头开始搭项目的话,这里有个搭建好的demo项目可以为您使用。

sprigbootsprigmvc

两个版本,一个是基于sprigboot,一个是传统sprigmvc,推荐sprigboot。

功能介绍

easymybatis是一个mybatis增强类库,目的为简化mybatis的开发,让开发更高效。 easymybatis的特性如下: 无需编写xml文件即可完成CRUD操作。 支持多表查询、聚...

示例图片

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

评论