MyBatis Generator代码生成器
地址:http://mybatis.org/generator/quickstart.html
依赖
<!--mybatis代码生成--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.2</version> </dependency> </dependencies>
配置:generatorConfig.xml
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--如果需要使用 command 的方式生成需要配置数据库驱动的jar包路径--> <!-- java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite --> <!-- <classPathEntry location="指定数据驱动的磁盘路径"/>--> <!-- context 生成上下文 配置生成规则 id:唯一标识 随意写 targetRuntime:生成策略 MyBatis3DynamicSql 默认的 会生成带动态sql的CRUD MyBatis3Kotlin MyBatis3 生成通用的查询,可以指定动态where条件 MyBatis3Simple 只生成简单的CRUD --> <context id="simple" targetRuntime="MyBatis3Simple"> <!--数据源--> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mytest" userId="root" password="123456"/> <!-- pojo JAVA实体生成的规则 targetPackage:生成到哪个包下面 targetProject:当前文件的哪个相对路径下 --> <javaModelGenerator targetPackage="com.ssm.pojo" targetProject="src/main/java"/> <!--mapper xml映射文件 生成的规则 targetPackage:生成到哪个包下面 targetProject:当前文件的哪个相对路径下 注意:sqlMapGenerator 在 javaClientGenerator 前面,注意语句顺序 --> <sqlMapGenerator targetPackage="com.ssm.mapper" targetProject="src/main/resources"></sqlMapGenerator> <!--mapper 接口 生成的规则 targetPackage:生成到哪个包下面 targetProject:当前文件的哪个相对路径下 type:指定生成的方式 1.使用注解的方式 2.使用接口绑定的方式生成 (要配置sqlMapGenerator) --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.mapper" targetProject="src/main/java"/> <!--配置哪些表进行代码生成 tableName:表明 domainObjectName:指定pojo 类名 (可省略自动生成) mapperName:指定mapper mapper接口 和 xml映射文件 用的同一个名字 (可省略自动生成) --> <table tableName="mytable"/> <table tableName="person"/> </context> </generatorConfiguration>
使用代码方式:
@Test public void MybatisTool() throws XMLParserException, IOException, InvalidConfigurationException, SQLException, InterruptedException { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("src/main/resources/generatorConfig.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); }
插件方式:
<!-- Mybatis-Generator插件,自动生成代码 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <!--必須要引入数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!--必须制定版本--> <version>8.0.33</version> </dependency> </dependencies> </plugin>
注意: