IDEA整合SSM框架之配置mybatis-generator插件
- 配置mybatis-generator插件
-
- pom.xml中引入相关依赖包
- 创建数据库jdbc.properties配置文件
- 创建mybatis-generator.xml配置文件
- 在pom.xml添加generator的插件
- 生成数据库表对应的dao、entity、mapper
配置mybatis-generator插件
该插件是生成mybatis对应的dao、entity、mapper文件,可快速的编写SQL语句,进行项目开发。
pom.xml中引入相关依赖包
在pom.xml的节点中引入一下依赖包
<!--mybatis生成dao、entity、mapper的jar包-->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
创建数据库jdbc.properties配置文件
- 在resources文件加下创建properties包(不存在时创建,可有可无),再创建jdbc.properties文件
#数据库连接信息,数据库地址,数据库,用户名,密码,驱动以及其他信息
jdbc.url=jdbc:mysql://localhost:3306/demo?roundRobinLoadBalance=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
jdbc.username=root
jdbc.password=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.initialSize=5
jdbc.minIdle=5
jdbc.maxActive=100
jdbc.maxWait=100000
jdbc.testOnBorrow=false
jdbc.testOnReturn=false
jdbc.testWhileIdle=true
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.minEvictableIdleTimeMillis=25200000
jdbc.removeAbandoned=true
jdbc.removeAbandonedTimeout=1800
jdbc.logAbandoned=true
#
#
# 自动生成mybatis实体包
mybatis.generator.dao=com.xiao.demo.springmvc.mybatis.dao
mybatis.generator.entity=com.xiao.demo.springmvc.mybatis.entity
mybatis.generator.mapper=com.xiao.demo.springmvc.mybatis.mapper
创建mybatis-generator.xml配置文件
- 在resources下创建xml文件夹(不存在时创建,非必须),再创建文件mybatis-generator.xml文件,内容如下:
<!--配置数据库连接信息,以及生成dao、entity、mapper路径,
可以使用配置文件信息,也可以直接写相关包路径-->
<?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="properties/jdbc.properties"/>
<!-- 数据库驱动:选择本地硬盘上面的数据库驱动包-->
<classPathEntry location="/Users/xiao/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/>
<!--生成一个实体类的类型 MyBatis3Simple MyBatis3-->
<context id="mysql" defaultModelType="flat" targetRuntime="MyBatis3">
<property name="autoDelimitKeywords" value="false"/>
<!-- 生成的Java文件的编码 -->
<property name="javaFileEncoding" value="UTF-8"/>
<!-- 格式化java代码 -->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!-- 格式化XML代码 -->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,
比如ORACLE就是双引号,MYSQL默认是`反引号; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.username}"
password="${jdbc.password}">
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的位置 这里是引用配置文件中的路径, 可以直接写包路径-->
<javaModelGenerator targetPackage="${mybatis.generator.entity}"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="true"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的位置 这里是引用配置文件中的路径, 可以直接写包路径-->
<sqlMapGenerator targetPackage="${mybatis.generator.mapper}"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的位置 这里是引用配置文件中的路径, 可以直接写包路径-->
<javaClientGenerator type="XMLMAPPER" targetPackage="${mybatis.generator.dao}"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<!--<table tableName="" domainObjectName=""/>-->
</context>
</generatorConfiguration>
在pom.xml添加generator的插件
- 在pom.xml添加generator的插件
在<build><plugins>...</plugins></build>中添加如下内容
如果有<pluginManagement>...</pluginManagement>节点,取消该节点,如果不取消,
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!--mybatis-generator.xml 路径-->
<configurationFile>src/main/resources/xml/mybatis-generator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
- pom.xml配置正确,效果如下
生成数据库表对应的dao、entity、mapper
-
SQL语句
mysql中运行,以t_user表为例,创建SQL语句如下
-- 如果存在,则删除
DROP TABLE IF EXISTS t_user;
-- 创建
CREATE TABLE t_user (
id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '用户编号',
user_name VARCHAR (20) NOT NULL DEFAULT '' COMMENT '姓名',
real_name VARCHAR (20) NOT NULL DEFAULT '' COMMENT '用户名',
sex VARCHAR (20) NOT NULL DEFAULT '' COMMENT '性别',
tel VARCHAR(11) NOT NULL DEFAULT '' COMMENT '电话号码',
create_time datetime NOT NULL COMMENT '创建时间',
update_time datetime NOT NULL COMMENT '更新时间'
)
- 在mybatis-generator.xml 中加入表名以及对应实体类名称
<context>
...其他配置
<!--要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="t_user" domainObjectName="TUser"/>
</context>
- 在Maven Projects 的窗口中,双击mybatis-generator选项
- 控制台输出信息
- 配置的相关路径下生产对应的文件
IDEA整合SSM框架教程
写在最后
人这一生也没有多少时间可以挥霍,
踏实一点,务实一些,
做自己想做的事,
如此简单!