springboot整合mybatis
springboot推荐无xml配置,之前使用mybatis时会使用很多xml的mapping配置,此次结合springboot研究了一下无xml的方式,使用MyBatis Generator生成model,dao。
1. 配置MBG插件
在pom.xml文件中加入插件
<!-- 自动生成代码 插件 begin -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<!--配置文件的路径-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
</dependencies>
</plugin>
2. 编写配置文件(generatorConfig.xml)
在resources目录下加入MBG的配置文件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>
<!-- pom中插件声明了依赖jdbc驱动,此处可以省略 -->
<!--<classPathEntry location="D:\dev\env\maven-3.3.9\repository\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar" />-->
<context id="MySQL" targetRuntime="MyBatis3">
<!-- 重写equals和hashCode方法 -->
<!--<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />-->
<!-- 实现Serializable接口 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<!-- 重写toString方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<commentGenerator>
<!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 -->
<!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/zjwy?useUnicode=true&characterEncoding=UTF-8"
userId="root"
password="123456">
</jdbcConnection>
<javaModelGenerator targetPackage="com.xxx.model" targetProject="src/main/java" />
<!-- 此处声明了mapping文件的目录,是因为不声明不符合mybatis-generator-config_1_0.dtd 文件的定义 -->
<!-- javaClientGenerator 标签中使用 ANNOTATEDMAPPER 方式时,事实上并不会生成配置文件-->
<sqlMapGenerator targetPackage="com.xxx.mapping" targetProject="src/main/java" />
<javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.xxx.dao" targetProject="src/main/java" />
<!-- mapperName指定mapper文件的名字 -->
<table tableName="user"
mapperName="UserDao"
domainObjectName="User"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false"
/>
<!-- 如果还有多个table继续声明 -->
</context>
</generatorConfiguration>
执行命令,生成model和dao
mybatis-generator:generate
参考文章:
1. http://blog.csdn.net/zsg88/article/details/77620345
2. http://blog.csdn.net/xiao_jun_0820/article/details/50402299
3. http://blog.csdn.net/u012679583/article/details/53371034