java

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

2018-04-30  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读