赞
踩
在线生成(目前只支持mysql):http://tools.49db.cn
第3点很重要!第3点很重要!第3点很重要!
先来一个测试sql (需要注意的是,复制sql的时候,不要有隐藏的特殊符号,从数据库管理工具例如navicat的DDL信息复制 )
CREATE TABLE `sys_admin_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
`pws` varchar(255) DEFAULT NULL COMMENT '登陆密码',
`real_name` varchar(255) DEFAULT NULL COMMENT '真实姓名',
`user_phone` varchar(255) DEFAULT NULL COMMENT '手机号',
`state` int(2) DEFAULT '0' COMMENT '状态,0=禁用,1=启用',
`role_id` bigint(20) DEFAULT NULL COMMENT '所属角色id',
`department_id` bigint(20) DEFAULT NULL COMMENT '所属部门id',
`language` varchar(32) DEFAULT NULL COMMENT '语言:cn , en 等 参考 sys_language 字段名',
`del` int(2) DEFAULT '1' COMMENT '逻辑删除,0=删除,1=正常',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员表';
以表名tabne_name为例:
1.生成的文件分别为:
TableName.java (模型)
TableNameKey.java (有多个主键时,会生成该文件)
TableNameExample.java (条件筛选,不会用的自行百度)
TableNameMapper.java (基础查询接口)
TableNameMapper.xml (Mapper.java对应的xml文件)
TableNameDAO.java (继承自Mapper.java,需要扩展方法的在这个文件添加)
TableNameDAO.xml (DAO.java的对应的xml,扩展方法的sql写在这个文件)
Page.java (分页插件,各个表通用,这边为了方便每次生成时都附带了)
PageRs.java (带分页的公共返回类型,各个表通用,这边为了方便每次生成时都附带了)
PageIn.java (带分页的请求类父类,各个表通用,这边为了方便每次生成时都附带了)
TableNameRq.java (请求参数封装类,默认字段与TableName.java相同,继承PageIn.java带分页)
TableNameService.java (Service,默认提供增删改查接口)
TableNameServiceImpl.java (Service的实现类,默认提供增删改查接口)
TableNameController.java (Controller,默认提供增删改查web接口)
2.使用方法:
将各个文件放到对应项目,以下截图是我的目录结构仅做参考,关注各个文件互相依赖是否正确
ServiceImpl中只需要注入DAOMapper.java即可,如果你是通过在配置类设置@MapperScan注解设置的扫描范围,需要包括mapper和dao目录,对应的xml目录页需要再数据源中配置相应路径。
如果之前是在Mapper.java上添加的@Mapper注解,那么现在只需要在DAOMapper.java上添加即可。
Controller.java 类的注解 @RequestMapper 默认值是空,需要自行设置路径
4.dao说明:
生成DAOMapper.java 和 DAOMapper.xml的目的是将扩展方法独立出来,防止在表结构发生变更需要重新生成时,混写了扩展方法的Mapper.java 和 Mapper.xml变的难以处理,如果觉得不需要可以不用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。