mybatis的逆向生成工具搭建模板

1 mybaits是逆向生成 generator

是mybatis官方提供的一套工具类,帮助我们根据数据库表生成最基本的实体类,dao接口和sql映射文件

1.1 搭建环境,并导入坐标(了解)
创建一个maven工程-导入坐标-导入配置文件
在这里插入图片描述

在这里插入图片描述
2.配置xml文件
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>

    <!--
        1 引入本地磁盘中的mysql驱动包
    -->
    <classPathEntry location="E:\\Program Files\\apache-maven\\repository-work\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/>

    <context id="context" targetRuntime="MyBatis3">
        <!-- 是否去除自动生成的注释 true:是 : false:否 -->
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!--
            2 数据库连接的基本属性(驱动,数据库访问url,用户名,密码)
        -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/saas-export"
                        userId="root"
                        password="111111"/>


        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--
            3 配置自动生成的实体类存放的位置
                    targetPackage : 存放的包名
                    targetProject : 保存的位置 (相对路径,绝对路径main目录下java的绝对路径)
        -->
        <javaModelGenerator targetPackage="cn.itcast.domain.export" targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>


        <!--
            4 配置自动生成的映射文件的位置
                  targetPackage : 存放的包名
                  targetProject : 保存的位置 (相对路径,绝对路径)
        -->
        <sqlMapGenerator targetPackage="cn.itcast.dao.export" targetProject=".\src\main\resources">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!--
           5 配置自动生成的dao接口的位置
        -->
        <javaClientGenerator targetPackage="cn.itcast.dao.export"
                             targetProject="src/main/java" type="XMLMAPPER">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <!--
           6 配置数据库表
                schema :数据库名称
                tableName : 数据库内表名称
                domainObjectName : 实体类名称
                mapperName : dao接口和映射文件的名称
        -->
        <!-- 指定数据库表 -->
        <table schema="saas-export" tableName="co_factory" domainObjectName="Factory" mapperName="FactoryDao"
               enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="true" enableUpdateByExample="false"/>

    </context>
</generatorConfiguration>

3.java类
在这里插入图片描述

 */
public class GeneratorSqlMapTest {

    public void generator() throws Exception{

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //指定 逆向工程配置文件
        InputStream in = GeneratorSqlMapTest.class.getClassLoader().getResourceAsStream("mybatis-generator-config.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(in);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
                callback, warnings);
        myBatisGenerator.generate(null);
        in.close();

    }
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlMapTest generatorSqlmap = new GeneratorSqlMapTest();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

1.2 生成dao层方法(重点)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 	//根据id查询
	Factory selectByPrimaryKey(String id);

	//根据id删除
    int deleteByPrimaryKey(String id);
    
	//可选列更新
	int updateByPrimaryKeySelective(Factory record);
	
	//选列保存
	int insertSelective(Factory record);
	
	//条件查询 Example查询
    List<Factory> selectByExample(FactoryExample example);

在这里插入图片描述

运行java类中的main方法,会自动生成相应的实体类和接口,接口的映射文件,将其拷贝到主工程

1.3 条件查询(在主项目中测试)

1.创建example对象

2.创建criteria

3.向criteria中添加查询条件
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 MyBatis Generator 工具可以快速生成 MyBatis 的 Mapper 接口、XML 映射文件和实体类等代码,实现逆向工程。 下面是使用 Spring Boot 集成 MyBatis Generator 的步骤: 1. 在 pom.xml 中引入 MyBatis Generator 插件: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> <executions> <execution> <id>Generate MyBatis Artifacts</id> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build> ``` 2. 在 resources 目录下创建 generatorConfig.xml 配置文件,定义 MyBatis Generator 的配置信息: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="MySQLTables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC" userId="root" password="root"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <table tableName="user"></table> </context> </generatorConfiguration> ``` 3. 在 Maven 中执行以下命令,生成 MyBatis 的 Mapper 接口、XML 映射文件和实体类等代码: ``` mvn mybatis-generator:generate ``` 执行成功后,会在 src/main/java/com/example/demo/entity 和 src/main/java/com/example/demo/mapper 目录下生成对应的代码。 以上就是使用 Spring Boot 集成 MyBatis Generator 的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值