前言:利用别人的方法、知识、经历或精神成为你自己,不思考不实践不总结不反馈,就不会变成你的。
转载必须表明出处:https://www.cnblogs.com/fby698/p/9463831.html
如果数据库里有250张表,手动为其敲打250张表的JavaBean类,不言而喻是累人的,也不太符合实际,为了追求效率和节约时间,可以通过逆向工程工具MyBatis Generator来生成它。
MyBatis Generator (MBG)是一个mabatis的代码生成器,能够根据表自动生成mapper.java接口,mapper.xml文件,Po文件。
详情请看官方文档介绍:http://mbg.cndocs.ml/index.html
2.下载
-
进入https://github.com/mybatis/generator/releases 找到最新的版本1.37,无法驾驭最新版本可以选择低一点的
点击mybatis-generator-core-1.3.7.zip,进行下载
-
解压
3.准备数据表
- 准备用户和订单表(自行执行sql)
1 /* 2 3 Navicat MySQL Data Transfer 4 5 Source Server : new3 6 7 Source Server Version : 50520 8 9 Source Host : 127.0.0.1:3306 10 11 Source Database : mybatisnote 12 13 Target Server Type : MYSQL 14 15 Target Server Version : 50520 16 17 File Encoding : 65001 18 19 Date: 2018-08-12 15:42:05 20 21 */ 22 23 SET FOREIGN_KEY_CHECKS=0; 24 25 -- ---------------------------- 26 27 -- Table structure for orders 28 29 -- ---------------------------- 30 31 DROP TABLE IF EXISTS `orders`; 32 33 CREATE TABLE `orders` ( 34 35 `id` int(11) NOT NULL AUTO_INCREMENT, 36 37 `user_id` int(11) NOT NULL COMMENT '下单用户id', 38 39 `number` varchar(32) NOT NULL COMMENT '订单号', 40 41 `createtime` datetime NOT NULL COMMENT '创建订单时间', 42 43 `note` varchar(100) DEFAULT NULL COMMENT '备注', 44 45 PRIMARY KEY (`id`), 46 47 KEY `FK_orders_1` (`user_id`), 48 49 CONSTRAINT `FK_orders_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION 50 51 ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 52 53 -- ---------------------------- 54 55 -- Records of orders 56 57 -- ---------------------------- 58 59 INSERT INTO `orders` VALUES ('3', '1', '1000010', '2015-02-04 13:22:35', null); 60 61 INSERT INTO `orders` VALUES ('4', '1', '1000011', '2015-02-03 13:22:41', null); 62 63 -- ---------------------------- 64 65 -- Table structure for user 66 67 -- ---------------------------- 68 69 DROP TABLE IF EXISTS `user`; 70 71 CREATE TABLE `user` ( 72 73 `id` int(11) NOT NULL AUTO_INCREMENT, 74 75 `username` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, 76 77 `birthday` date DEFAULT NULL, 78 79 `sex` char(2) CHARACTER SET gbk DEFAULT NULL, 80 81 `address` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, 82 83 PRIMARY KEY (`id`) 84 85 ) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 86 87 -- ---------------------------- 88 89 -- Records of user 90 91 -- ---------------------------- 92 93 INSERT INTO `user` VALUES ('1', '张小单', '2018-07-20', '男', '上海莲花市'); 94 95 INSERT INTO `user` VALUES ('2', 'Mary', '2018-07-17', '女', '河源市'); 96 97 INSERT INTO `user` VALUES ('3', 'Mike', '2018-07-10', '男', '肇庆'); 98 99 INSERT INTO `user` VALUES ('27', 'john', '2018-07-24', '男', 'heyuan'); 100 101 INSERT INTO `user` VALUES ('28', 'john', '2018-07-24', '女', 'heyuan'); 102 103 INSERT INTO `user` VALUES ('30', 'john31', '2018-07-24', '男', 'heyuan'); 104 105 INSERT INTO `user` VALUES ('34', 'hooooo', '2018-07-27', 'm', 'heya');