easymybatis是一个mybatis增强类库,目的为简化mybatis的开发,让开发更高效。
easymybatis的特性如下:
easymybatis的架构如下:
easymybatis的运行流程图:
访问http://start.spring.io/ 生成一个springboot空项目,输入Group,Artifact点生成即可,如图: 点击Generate Project,下载demo.zip
将下载的demo.zip解压,然后导入项目。eclipse中右键 -> Import… -> Existing Maven Project,选择项目文件夹。导入到eclipse中后等待maven相关jar包下载。
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
在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
假设数据库中有张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功能。
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。