【后台学习笔记】基于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