mybatis逆向工程的配置文件,maven引入mybatis逆向工程插件。资源文件,Mybatis的全局配置文件

mybatis逆向工程的配置文件:

<?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="sqlGenerate" targetRuntime="MyBatis3">
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <commentGenerator>
        <property name="suppressAllComments" value="true" />
    </commentGenerator>

<!-- 数据库链接URL、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/huangjin?serverTimezone=UTC"
                userId="root" password="mysql">
</jdbcConnection>

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

<!-- 生成Pojo包名和位置 -->
<javaModelGenerator targetPackage="com.hj.pojo"
                    targetProject="src/main/java/">
    <!-- enableSubPackages:是否让schema作为包的后缀 -->
    <property name="enableSubPackages" value="true" />
    <!-- 清理前后的空格 -->
    <property name="trimStrings" value="true" />
</javaModelGenerator>

<!-- 生成Mapper映射XML文件位置 -->
<sqlMapGenerator targetPackage="com.hj.Mapper"
                 targetProject="src/main/resources/">
    <property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- 生成Mapper接口文件位置 -->
<javaClientGenerator type="XMLMAPPER"
                     targetPackage="com.hj.Mapper" targetProject="src/main/java/">
    <property name="enableSubPackages" value="true" />
</javaClientGenerator>

<!-- 要生成哪些表(更改tableName和domainObjectName就可以) -->
<!-- tableName:要生成的表名
domainObjectName:生成后的实例名
enableCountByExample:Count语句中加入where条件查询,默认为true开启
enableUpdateByExample:Update语句中加入where条件查询,默认为true开启
enableDeleteByExample:Delete语句中加入where条件查询,默认为true开启
enableSelectByExample:Select多条语句中加入where条件查询,默认为true开启
selectByExampleQueryId:Select单个对象语句中加入where条件查询,默认为true开启
-->
<table tableName="hjcg" domainObjectName="Hjcg" />
       <!--enableCountByExample="false" enableUpdateByExample="false"-->
       <!--enableDeleteByExample="false" enableSelectByExample="false"-->
       <!--selectByExampleQueryId="false"-->
<!--<table tableName="category" />-->
<!--<table tableName="order"/>-->
<!--<table tableName="product"/>-->
<!--<table tableName="order_detail"/>-->
</context>
</generatorConfiguration>

连接数据库的资源文件 db.properties

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/huangjin?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
db.username=root
db.password=mysql

maven引入mybatis逆向工程插件 在pom.xml文件中配置

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.15</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                    <!--是否将生成过程输出到控制台-->
                    <verbose>true</verbose>
                    <!--是否覆盖同名文件-->
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>

有了如上的配置之后,就可以使用mybatis的逆向工程了。

mybaits实施逆向工程之后,就要使用了,这时候需要mybatis的全局配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!-- 加载java的配置文件或者声明属性信息 -->
    <properties resource="db.properties"></properties>

    <!-- <settings></settings> -->

    <!-- 自定义别名 -->
    <!--此处为mybatis全局变量,全局变量中,能用到别名的地方只有映射文件中的传递参数类型-->
    <!--<typeAliases>-->
        <!--&lt;!&ndash; 单个别名定义 &ndash;&gt;-->
        <!--&lt;!&ndash; <typeAlias type="com.itheima.mybatis.po.User" alias="user"/> &ndash;&gt;-->

        <!--&lt;!&ndash; 批量别名定义(推荐) &ndash;&gt;-->
        <!--&lt;!&ndash; package:指定包名称来为该包下的po类声明别名,默认的别名就是类名(首字母大小写都可) &ndash;&gt;-->
        <!--<package name="com.itheima.mybatis.po" />-->
    <!--</typeAliases>-->

    <!-- 配置mybatis的环境信息,与spring整合,该信息由spring来管理 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置JDBC事务控制,由mybatis进行管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源,采用mybatis连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}" />
                <property name="url" value="${db.url}" />
                <property name="username" value="${db.username}" />
                <property name="password" value="${db.password}" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 -->
    <mappers>
        <!--<mapper resource="User.xml" />-->
        <!-- <mapper resource="mapper/UserMapper.xml" /> -->

        <!-- 批量加载映射文件 -->
        <package name="com.hj.Mapper" />
    </mappers>
</configuration>

全局配置文件配置之后,就可以进行连接数据库进行增删改查了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis逆向工程是一个非常实用的工具,可以根据数据库表结构自动生成Java Bean对象和Mapper映射接口代码,提高开发效率。而生成的代码默认使用XML文件配置SQL语句,但是随着Java EE技术的不断发展,注解已经逐渐成为了一个非常流行和便捷的编程方式。 因此,很多开发者开始使用MyBatis逆向工程生成注解的代码。下面是一个基本的工程配置步骤: 1. 添加相关依赖 在Maven工程中,需要添加MyBatisMyBatis Generator和数据库驱动的依赖。例如: ``` <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 编写generatorConfig.xml 该配置文件位于src/main/resources/目录下,可以使用MyBatis Generator提供的GUI工具进行可视化编辑,也可以手动编写该文件。编写该文件时需要注意以下几点: - database、jdbcConnection、table等元素的配置与普通的XML配置类似。 - 需要添加context元素,并在其中配置JavaModelGenerator、SqlMapGenerator和JavaClientGenerator等元素,分别用来生成Java Bean、Mapper映射接口和Mapper XML文件。 - 在context元素中添加targetRuntime="MyBatis3Simple"属性,表示使用简单的MyBatis3运行时,可以生成注解的代码。 例如: ```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="DB2Tables" targetRuntime="MyBatis3Simple"> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root"> </jdbcConnection> <javaModelGenerator targetPackage="com.example.demo.pojo" targetProject="src/main/java"> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java"> </sqlMapGenerator> <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java"> </javaClientGenerator> <table tableName="student"></table> </context> </generatorConfiguration> ``` 3. 运行Generator 使用Maven插件或者命令行运行MyBatis Generator,生成自动化代码到指定目录下。例如: ```shell mvn mybatis-generator:generate ``` 4. 代码使用 生成的 Java Bean、Mapper 接口和注解 SQL 语句已经全部生成了,可以直接使用。例如: ```java public interface StudentMapper { @Select({ "select", "id, name, age, sex", "from student", "where id = #{id,jdbcType=INTEGER}" }) @Results({ @Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true), @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), @Result(column="age", property="age", jdbcType=JdbcType.INTEGER), @Result(column="sex", property="sex", jdbcType=JdbcType.VARCHAR) }) Student selectByPrimaryKey(Integer id); } ``` 以上是MyBatis逆向工程生成注解的代码的工程配置过程,也是一种传统的方式。近年来,大部分使用MyBatis的开发者会选择使用习惯上更加统一的Lombok注解类库,必要的情况下也会对产生的代码进行瘦身优化,使代码更加简洁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值