一步一步教你用IntelliJ IDEA 搭建SSM框架——配置mybatis-geneator

Posted greenteaone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一步一步教你用IntelliJ IDEA 搭建SSM框架——配置mybatis-geneator相关的知识,希望对你有一定的参考价值。

我们要搭建整个SSM框架,所以要继续上篇文章没有完成的工作,下面配置mybatis-geneator,自动生成mybatis代码。

在上篇文章中的pom.xml的配置文件中已经加了mybatis-geneator的依赖包,如下图:

技术图片

请注意:上图的plugins是和pluginManagement是同级的,如果把mybatis.geneator的plugin放在pluginManagement就引用不到mybatis-geneator

 

然后在 applicationContext.xml文件中添加下面代码:

技术图片
<!-- 配置会话工厂SqlSessionFactory -->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:sqlmap/*Mapper.xml"/>
        <property name="typeAliasesPackage" value="cn.only.entity" />

    </bean>

    <!-- 在spring容器中配置mapper的扫描器产生的动态代理对象在spring的容器中自动注册,bean的id就是mapper类名(首字母小写)-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 指定扫描包的路径,就是mapper接口的路径,多个包中间以 半角逗号隔开   -->
        <property name="basePackage" value="cn.only.dao"/>
        <!-- 配置sqlSessionFactoryBeanName -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
View Code

技术图片

 

 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>
    <!--导入属性配置 -->
    <properties resource="generator.properties"/>

    <classPathEntry
            location="C:\\Users\\Administrator\\.m2\\repository\\mysql\\mysql-connector-java\\5.0.8\\mysql-connector-java-5.0.8.jar" />
    <context id="context1">
        <!-- 注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
            <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
        </commentGenerator>

        <jdbcConnection driverClass="$driver"
                        connectionURL="$url"
                        userId="$username"
                        password="$password" />

        <!-- 类型转换 -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <javaModelGenerator targetPackage="$modelPackage"
                            targetProject="$modelProject" />
        <sqlMapGenerator targetPackage="$sqlPackage" targetProject="$sqlProject" />
        <javaClientGenerator targetPackage="$mapperPackage"
                             targetProject="$mapperProject" type="XMLMAPPER" />

        <!-- 如果需要通配所有表 直接用sql的通配符    %即可 -->
        <table schema="" tableName="$table" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"/>

    </context>
</generatorConfiguration>
View Code

代码中的classPathEntry的location换成您本地的。如下图,

技术图片

注意:如果mysql-connector-java的版本与本地的MySQL版本不配套,数据库操作会报错。

 generator.properties配置

技术图片
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username=root
password=******

#entity 包名和 java目录
modelPackage=cn.only.entity
modelProject=src/main/java
#sqlmap包名 和resources目录
sqlPackage=sqlmap
sqlProject=src/main/resources
#mapper包名和 java目录
mapperPackage=cn.only.dao
mapperProject=src/main/java

table=message
View Code

注意:上面的代码中如果没有serverTimezone=UTC,代码运行会报错

modelPackage:连接数据库自动生成的实体类保存的位置

sqlPackage:生成xml映射文件保存的位置

mapperPackage:生成数据库接口保存的位置

table:数据库里面表的名字

现在mybatis-geneator已经配置好了。

MySQL数据库中已经建立了数据库test和表message。

点击IntelliJ IDEA右侧边栏的Maven Projects,如下图。

技术图片

双击上图中的 mybatis-generator:generate,运行结果如下图

技术图片

 

 

mybatis-generator运行成功以后会自动生成以下文件:

 技术图片

 

以上是关于一步一步教你用IntelliJ IDEA 搭建SSM框架——配置mybatis-geneator的主要内容,如果未能解决你的问题,请参考以下文章

一步一步教你用 Vue.js + Vuex 制作专门收藏微信公众号的 app

一步一步教你 https 抓包

用Html5/CSS3做Winform,一步一步教你搭建CefSharp开发环境(附JavaScript异步调用C#例子,及全部源代码)上

一步一步教你使用 LSMW 批量处理数据

一步一步教你认识闭包

一步一步教你写perl