Maven + Mybatis-generator(Oracle版本)

*Maven + Mybatis-generator(Oracle版本) *
第一个mybatis项目,也是第一次使用maven

新建项目

先新建一个maven项目
选择quickstart,然后依次输入需要的项目名称以及保存地址然后建立简单的文件夹分类
Repos是原先在文件夹下的,可以忽略

配置pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>myfirstbatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.7</version>
        </dependency>
    </dependencies>
    <build>
        <extensions>
            <extension>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>1.4.1.Final</version>
            </extension>
        </extensions>
        <plugins>
            <!--maven插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--mybatis-generator插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <!--指定资源文件的路径-->
                <configuration>
                    <configurationFile>.idea/src/main/java/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <!--此插件需要依赖的jar包资源-->
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.9</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>.idea/src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

</project>

maven通过配置pom会将依赖项和插件引入,配置pom以后需要重新引入reimport

resources的内容一定要配置!不然之后生成的mapper会找不到。

mybatis.xml配置

<?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>
    <!--环境配置:数据库的连接信息-->
    <environments default="development">
        <!--environmeny:一个数据库信息的配置,环境
                id:一个唯一值:自定义,表示环境的名称

        -->
        <!--
            default:默认连接的数据库id
        -->
        <environment id="development">
            <!--transactionManager:mybatis的事务类型
                type:JDBC(表示jdbc中的connection对象的commit,rollback做事务处理)
               -->
            <transactionManager type="JDBC"/>
            <!--dataSource:表述数据源,连接数据库的
                type:表示数据源的类型,POLLED表示使用连接池
            -->
            <dataSource type="POOLED">
                <!--
                        driver,url,username,password 固定的,不能自定义
                -->
                <!--数据库的驱动类名-->
                <property name="driver" value="oracle.jdbc.OracleDriver"/>
                <!--连接数据库的url字符串-->
                <property name="url" value="jdbc:oracle:thin:@192.168.7.12:1521/test"/>
                <!--访问数据库的用户名-->
                <property name="username" value="fm"/>
                <!--数据库密码-->
                <property name="password" value="1"/>
            </dataSource>
        </environment>
    </environments>
    <!--sql mapper(sql映射文件)的位置-->
    <mappers>
        <!--一个mapper标间指定一个文件的位置
                从类路径开始的路径信息    tarhet/classees(类路径)
        -->
        <mapper resource="mapper/ProductMapper.xml"/>
    </mappers>
</configuration>

<!--
mybatis的主配置文件:主要定义数据库的配置信息,sql映射文件位置

1、约束文件
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

        mybatis.org/dtd/mybatis-3-config.dtd约束文件名称
2、跟标签
-->

这里的url要根据自己的数据库去配置,一般格式都是 jdbc:oracle:thin:127.0.0.1:port:dbname
但是我的数据库是通过global_name配置的,所以不一样,真的摸索了很久。

配置generatorConfig.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>
    <!-- classPathEntry:数据库的JDBC驱动的jar包地址 -->
    <classPathEntry location="C:\Users\YiWang\.m2\ojdbc6.jar" />
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 抑制警告 -->
            <property name="suppressTypeWarnings" value="true" />
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false" />
            <!-- 是否生成注释代时间戳-->
            <property name="suppressDate" value="true" />
        </commentGenerator>

        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
                        connectionURL="jdbc:oracle:thin:@192.168.7.12:1521/wangy" userId="fm"
                        password="1">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <!-- 	<javaTypeResolver>
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver> -->
        <!--生成Model类存放位置 -->
        <javaModelGenerator targetPackage="domain"
                            targetProject=".idea/src/main/java">
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
            <property name="enableSubPackages" value="false" />
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
            <property name="trimStrings" value="true" />
            <property name="constructorBased" value="true"/>
        </javaModelGenerator>
        <!--生成映射文件存放位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject=".idea/src/main/java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!--生成Dao类存放位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="dao" targetProject=".idea/src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>


        <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
        <table tableName="tproduct" domainObjectName="Product"  >
            <!--domain字段的命名规则,false:默认为驼峰命名 true:按数据库真实命名  -->
            <property name="useActualColumnNames" value="false"/>
            <ignoreColumn column="REPORT_EXEC_TYPE"/>
            <ignoreColumn column="PRODUCT_SHARE"/>

            <!-- 忽略列,不生成bean 字段 -->
            <!--     <ignoreColumn column="FRED" />   -->
            <!-- 指定列的java数据类型 -->
            <!--     <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />   -->
        </table>
        <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
        <table tableName="tuserlog" domainObjectName="Userlog"  >
            <!--domain字段的命名规则,false:默认为驼峰命名 true:按数据库真实命名  -->
            <property name="useActualColumnNames" value="false"/>
        </table>
    </context>

</generatorConfiguration>

通过Mybatis-generators自动生成

双击生成

最后生成目录(蓝色框中是需要自己配置的,其他都是自动生成的)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值