> 文章列表 > SSM--mybatis逆向工程生成

SSM--mybatis逆向工程生成

SSM--mybatis逆向工程生成

SSM学习笔记–mybatis逆向工程生成

文章目录

  • SSM学习笔记--mybatis逆向工程生成
    • 1. 创建数据库和表
    • 2. Mybatis Generator 逆向工程

1. 创建数据库和表

-- 创建 furns_ssm
DROP DATABASE IF EXISTS furn_ssm;
CREATE DATABASE furn_ssm;
USE furn_ssm;-- 创建家居表
CREATE TABLE furn(
`id` INT(11) PRIMARY KEY AUTO_INCREMENT, ## id
`name` VARCHAR(64) NOT NULL, ## 家居名
`maker` VARCHAR(64) NOT NULL, ## 厂商
`price` DECIMAL(11,2) NOT NULL, ## 价格
`sales` INT(11) NOT NULL, ## 销量
`stock` INT(11) NOT NULL, ## 库存
`img_path` VARCHAR(256) NOT NULL ## 照片路径
);
-- 初始化家居数据
INSERT INTO furn(`id` , `name` , `maker` , `price` , `sales` , `stock` , `img_path`)
VALUES(NULL , ' 北 欧 风 格 小 桌 子 ' , ' 熊 猫 家 居 ' , 180 , 666 , 7 ,
'assets/images/product-image/1.jpg');
INSERT INTO furn(`id` , `name` , `maker` , `price` , `sales` , `stock` , `img_path`)
VALUES(NULL , ' 简 约 风 格 小 椅 子 ' , ' 熊 猫 家 居 ' , 180 , 666 , 7 ,
'assets/images/product-image/2.jpg');
INSERT INTO furn(`id` , `name` , `maker` , `price` , `sales` , `stock` , `img_path`)
VALUES(NULL , ' 典 雅 风 格 小 台 灯 ' , ' 蚂 蚁 家 居 ' , 180 , 666 , 7 ,
'assets/images/product-image/3.jpg');
INSERT INTO furn(`id` , `name` , `maker` , `price` , `sales` , `stock` , `img_path`)
VALUES(NULL , ' 温 馨 风 格 盆 景 架 ' , ' 蚂 蚁 家 居 ' , 180 , 666 , 7 ,
'assets/images/product-image/4.jpg');
SELECT * FROM furn

2. Mybatis Generator 逆向工程

  1. 使用 MyBatis Generator 逆向工程生成 bean mapper 接口和 mapper.xml , 当然也可以自己写
  2. 建议,如果在开发中,逆向工程生成的代码,不能满足需要,再自己编写

第一步、 修改 mybatis-config.xml , 增加 typeAliases 配置.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--1. 如果一个包下有很多的类,我们可以直接引入包2. 这样该包下面的所有类名,可以直接使用--><typeAliases><package name="com.xjz.furn.bean"/></typeAliases>
</configuration>

第二步、引入 MyBatis Generator 包, 在 pom.xml 配置

<!-- 引入 mybatis 逆向工程依赖包 -->
<dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.4.0</version>
</dependency>

第三步、创建furn-ssm\\mbg.xml

  • 参 考 文 档:https://mybatis.org/generator/

注意:这一步是最重要的,这里为大家准备了一个模板xml,以后导入逆向工程都可以用这个直接自己修改一下即可。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 生成没有注释的 bean--><commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator><!-- 配置数据库连接信息--><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3308/furn_ssm?characterEncoding=utf8" userId="root" password="123456"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 指定 javaBean 生成的位置--><javaModelGenerator targetPackage="com.xjz.furn.bean"targetProject=".\\src\\main\\java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 指定 sql 映射文件生成的位置--><sqlMapGenerator targetPackage="mapper" targetProject=".\\src\\main\\resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 指定 dao 接口生成的位置, 也就是 mapper 接口--><javaClientGenerator type="XMLMAPPER" targetPackage="com.xjz.furn.dao"targetProject=".\\src\\main\\java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 指定要逆向生成的表和生成策略--><table tableName="furn" domainObjectName="Furn"></table></context>
</generatorConfiguration>

第四步、创建测试文件 MGBTest.java

参 考 文 档:https://mybatis.org/generator/

注意:生成相关 bean、mapper 接口和 mapper.xml 参考官方问题来修改, 并完成测试

public class MBGTest {@Testpublic void generator() throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指定配置文件File configFile = new File("mbg.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);System.out.println("逆向生成 OK");}
}

第五步、查看测试结果

SSM--mybatis逆向工程生成