微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

easymybatis Mybatis 增强类库

程序名称:easymybatis

授权协议: Apache

操作系统: 跨平台

开发语言: Java

easymybatis 介绍

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

easymybatis的特性如下:

架构组成@H_404_27@

easymybatis的架构如下:

运行流程@H_404_27@

easymybatis的运行流程图:

  1. 服务器启动的时候easymybatis负责扫描Dao.java。
  2. 扫描完成后解析出Dao.class以及实体类Entity.class。
  3. 代码生成组件根据Dao.class和Entity.class生成mapper文件内容生成方式由veLocity模板指定。
  4. 把mapper文件内容转化成Resource对象设置到sqlSessionFactory中。

快速开始

1 创建springboot项目@H_404_27@

访问http://start.spring.io/ 生成一个springboot空项目,输入Group,Artifact点生成即可,如图:

点击Generate

Project,下载demo.zip

2 导入项目@H_404_27@

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

3 添加maven依赖@H_404_27@

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

    net.oschina.durcframework
    easymybatis-spring-boot-starter
    1.4.5


    org.springframework.boot
    spring-boot-starter-web


    MysqL
    mysql-connector-java
    runtime

4 添加数据库配置@H_404_27@

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

spring.datasource.driver-class-name=com.MysqL.jdbc.Driver
spring.datasource.url=jdbc:MysqL://localhost:3306/stu?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root

5 添加Java文件@H_404_27@

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

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(255) DEFAULT NULL COMMENT '用户名',
  `state` tinyint(4) DEFAULT NULL COMMENT '状态',
  `isdel` bit(1) DEFAULT NULL COMMENT '是否删除',
  `remark` text COMMENT '备注',
  `add_time` datetime DEFAULT NULL COMMENT '添加时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

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

  • TUser.java :

    @Table(name = “t_user”)
    public class TUser {
    @Id
    @Column(name=”id”)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id; // ID
    private String username; // 用户名
    private Byte state; // 状态
    private Boolean isdel; // 是否删除
    private String remark; // 备注
    private Date addTime; // 添加时间

    // 省略 getter setter
    

    }

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

  • TUserDao.java :

    public interface TUserDao extends CrudDao {
    }

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

6 添加测试用例@H_404_27@
public class TUserDaoTest extends DemoApplicationTests {

    @Autowired
    TUserDao dao;

        @Test
    public void testInsert() {
        TUser user = new TUser();
        user.setIsdel(false);       
        user.setRemark("testInsert");       
        user.setUsername("张三");

        dao.save(user);

        System.out.println("添加后的主键:" + user.getId());       
    }

    @Test
    public void testGet() {
        TUser user = dao.get(3);
        System.out.println(user);                
    }

        @Test
    public void testUpdate() {
        TUser user = dao.get(3);
        user.setUsername("李四");     
        user.setIsdel(true);

        int i = dao.update(user);
        System.out.println("testUpdate --> " + i);
    }

        @Test
    public void testDel() {
        TUser user = new TUser();
        user.setId(3);
        int i = dao.del(user);
        System.out.println("del --> " + i);
    }
}

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

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

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

两个版本,一个是基于springboot,一个是传统springmvc,推荐springboot。

easymybatis 官网

https://git.oschina.net/durcframework/easymybatis

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐