美文网首页java
【后台学习笔记】基于SSM框架:MyBatis的使用

【后台学习笔记】基于SSM框架:MyBatis的使用

作者: 猫留下你走吧 | 来源:发表于2018-04-30 20:56 被阅读208次

    前言

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
    简单来说,MyBatis是能够方便我们对数据库进行操作的一个优秀的框架

    准备

    【后台学习教程】 基于SSM框架的JavaWeb搭建
    【后台学习教程】使用IDEA操作MySQL

    教程

    -1-MyBatis配置文件

    在resources目录下创建generator.properties文件

    driver=com.mysql.jdbc.Driver
    # 数据库地址
    # 本机IP用localhost,云服务器改为对应的公网IP
    # url=jdbc:mysql://IP地址:端口号/数据库名?useUnicode=true&characterEncoding=utf-8
    url=jdbc:mysql://www.hellomiao.cn:3306/demo?useUnicode=true&characterEncoding=utf-8
    # 数据库用户名
    username=root
    # 数据库的密码
    password=***************************
    
    #entity 包名和 java目录
    modelPackage=ssm.demo.entity
    modelProject=src/main/java
    #sqlmap包名 和resources目录
    sqlPackage=sqlmap
    sqlProject=src/main/resources
    #mapper包名和 java目录
    mapperPackage=ssm.demo.dao
    mapperProject=src/main/java
    #待操作的数据库
    table=user
    

    2.在resources目录下创建generatorConfig.xml文件

    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\liwenban\.m2\repository\mysql\mysql-connector-java\5.1.29\mysql-connector-java-5.1.29.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>
    
    • 值得注意的是:
     <classPathEntry
                location="C:\Users\liwenban\.m2\repository\mysql\mysql-connector-java\5.1.29\mysql-connector-java-5.1.29.jar" />
    

    需要替换为自己项目目录下的mysql驱动包目录


    QQ截图20180430201808.png

    替换方法为:复制驱动包地址粘贴


    QQ截图20180430201823.png
    3.创建sqlmap文件夹,用于存放MyBatis生成的SQL映射文件
    4.spring配置文件里面增加sqlsession配置
    spring-config.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="ssm.demo.entity" />
        </bean>
    
        <!-- 在spring容器中配置mapper的扫描器产生的动态代理对象在spring的容器中自动注册,bean的id就是mapper类名(首字母小写)-->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 指定扫描包的路径,就是mapper接口的路径,多个包中间以 半角逗号隔开   -->
            <property name="basePackage" value="ssm.demo.dao"/>
            <!-- 配置sqlSessionFactoryBeanName -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
    

    完成以上步骤的的目录结构大致如下


    QQ截图20180430204122.png
    -2- 生成SQL映射文件

    点击右侧边栏的Maven Projects,找到mybatis-generator双击。如果没有,请点击上边的刷新图标刷新一下


    QQ截图20180430202828.png

    控制台:


    QQ截图20180430203631.png
    说明没问题~
    最后,mybatis的generator插件帮我们全自动生成对应的实体类,mapper接口以及mapper.xml文件。我们就能够完成最基本的增删改查的工作
    QQ截图20180430203716.png

    相关文章

      网友评论

        本文标题:【后台学习笔记】基于SSM框架:MyBatis的使用

        本文链接:https://www.haomeiwen.com/subject/hiltrftx.html