springmvc学习笔记--mybatis--使用插件自动生成实体和mapper

由于表对象在开发过程中会增删字段,有时候需要重新生成实体和对应的mapper,这时候可以通过mybatis的插件的生成。

优点是快速简洁,缺点同样很明显:覆盖。因此,通常是在第一次搭建框架的时候使用,因为开发过程中实体的字段会被修改,如添加注解validator、format等。所以架构师学会用包装对象?包装对象怎么实现在原始表的属性的控制呢,比如日期格式化,比如校验。

1.首先,在pom中依赖插件:

 1  <!-- Mybatis generator代码生成插件 配置 -->
 2             <plugin>
 3                 <groupId>org.mybatis.generator</groupId>
 4                 <artifactId>mybatis-generator-maven-plugin</artifactId>
 5                 <version>${plugin.mybatis.generator}</version>
 6                 <configuration>
 7                     <configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
 8                     <overwrite>true</overwrite>
 9                     <verbose>true</verbose>
10                 </configuration>
11             </plugin>
1  <properties>
2         <!-- plugin setting -->
3         <mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
4         <mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.properties</mybatis.generator.generatorConfig.properties>
5 </properties>

2.在maven项目中的test模块里进行配置:

在test/resources下添加generatorConfig.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5
 6 <!-- 配置Run As Maven build : Goals 参数 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
 7 <!-- 配置 tableName,使用 Run As Maven build 生成 dao model 层 -->
 8 <generatorConfiguration>
 9     <!-- 配置文件路径 -->
10     <properties url="${mybatis.generator.generatorConfig.properties}"/>
11
12     <!--数据库驱动包路径 -->
13     <classPathEntry location="${drive.class.path}"/>
14
15     <context id="DB2Tables" targetRuntime="MyBatis3">
16         <!--关闭注释 -->
17         <commentGenerator>
18             <property name="suppressAllComments" value="true"/>
19         </commentGenerator>
20
21         <!--数据库连接信息 -->
22         <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}"
23                         password="${jdbc.password}">
24         </jdbcConnection>
25
26         <!--生成的model 包路径 -->
27         <javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}">
28             <property name="enableSubPackages" value="ture"/>
29             <property name="trimStrings" value="true"/>
30         </javaModelGenerator>
31
32         <!--生成xml mapper文件 路径 -->
33         <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}">
34             <property name="enableSubPackages" value="ture"/>
35         </sqlMapGenerator>
36
37         <!-- 生成的Dao接口 的包路径 -->
38         <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}">
39             <property name="enableSubPackages" value="ture"/>
40         </javaClientGenerator>
41
42         <!--对应数据库表名 -->
43         <table tableName="user">
44
45         </table>
46     </context>
47 </generatorConfiguration>

修改最后需要生成的表名,我将部分关键数据抽取出来放在generatorConfig.properties,这个文件放在同一目录下。

 1 # 数据库驱动jar 路径
 2 drive.class.path=D:\\MyApp\\repository\\mysql\\mysql-connector-java\\5.1.29\\mysql-connector-java-5.1.29.jar
 3
 4 # 数据库连接参数
 5 jdbc.driver=com.mysql.jdbc.Driver
 6 jdbc.url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8
 7 jdbc.username=root
 8 jdbc.password=密码
 9
10 # 包路径配置
11 model.package=com.demo.modules.front.entity
12 dao.package=com.demo.modules.front.mapper
13 xml.mapper.package=com.demo.modules.front.mapper
14
15 target.project=src/main/java

3.生成

运行mybatis-generator:generate即可在需要的bao下生成对应的文件。

4.注意

在第二次或之后运行生成文件的时候,java类会被覆盖,也就是说如果对实体对象进行了手动修改的话需要慎重;还有:

xml文件不会被覆盖,只是追加,这样会导致xml文件中重复模块,因此需要删除xml文件后生成。

由于idea默认只在resource下加载xml,如果默认配置mapper.java和xml同一个目录,可能不会识别,所以需要将xml配置到resource下,或者在maven的pom中添加resource:

 1 <!--配置Maven 对resource文件 过滤 -->
 2         <resources>
 3             <resource>
 4                 <directory>src/main/resources</directory>
 5                 <includes>
 6                     <include>**/*.properties</include>
 7                     <include>**/*.xml</include>
 8                 </includes>
 9                 <filtering>true</filtering>
10             </resource>
11             <resource>
12                 <directory>src/main/java</directory>
13                 <includes>
14                     <include>**/*.properties</include>
15                     <include>**/*.xml</include>
16                 </includes>
17                 <filtering>true</filtering>
18             </resource>
19         </resources>

时间: 2024-10-12 12:42:54

springmvc学习笔记--mybatis--使用插件自动生成实体和mapper的相关文章

使用MyBatis Generator自动生成实体、mapper和dao层

通过MyBatis Generator可以自动生成实体.mapper和dao层,记录一下怎么用的. 主要步骤: 关于mybatis从数据库反向生成实体.DAO.mapper: 参考文章:http://www.cnblogs.com/wangkeai/p/6934683.html第一种方式:main方法运行(推荐) 1.在pom.xml中加入插件依赖: 2.写mbgConfiguration.xml文件,jdbc.properties文件 3.写/SSM/src/main/java/main/Ge

IDEA——mybatis-generator插件自动生成实体代码(Maven)

利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件.  mysql-connector-java-5.1.6-bin.jar mysql驱动包  mybatis-generator-core-1.3.5.jar 自动生成器包 maven 配置mybatis-generator插件 一.pom.xml 两处配置 (1) (2) 二.创建 generatorConfig.xml 配置如下: 1 <?xml version="1.0" encoding=&quo

记录下 mybatis.generator 插件自动生成mapper+entity+mapper.xml 少走点坑

Demo  springBoot+Mybatis+oracle 1.创建项目  ...... 2. 配置 generator 文件 在resource 下创建 generatorConfig.xml 文件 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator C

利用mybatis generator插件反向生成Dao、Mapper.xml、pojo(通过maven)

直接进入主题,由于项目选择的利用maven构建,所以选择了利用maven的生成方式.(还有一种可自行百度) 一.在pom.xml中添加插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configur

spring和mybatis集成,自动生成model、mapper,增加mybatis分页功能

软件简介 Spring是一个流行的控制反转(IoC)和面向切面(AOP)的容器框架,在java webapp开发中使用广泛.http://projects.spring.io/spring-framework/ MyBatis是一个基于Java的数据持久层框架,其原名是iBatis,在升级到3.0版本后,更名为MyBatis.https://github.com/mybatis/mybatis-3/ MyBatis Generator是一个MyBatis的代码生成器,通过配置,可自动生成数据操作

idea自动生成实体与mapper文件

配置文件:generator/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/mybati

【mybatis源码学习】利用maven插件自动生成mybatis代码

[一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <dependencies>

使用mybatis插件自动生成实体(pojo)类

首先下载我已经搭好的工程,下载下来按照下面的操作配置和运行下就能轻松搞定! 地址:http://pan.baidu.com/s/1jIhJFTG 这是一个maven搭建的工程,将项目导入到工程中,导入完之后目录: 先看第1步: 打开generatorConfig.xml文件可以看到里面有好多配置信息,为了简单快速上手,只需要配置这两个地方即可: 其中table可以有多个,多配置几个可以满足一个数据库中多个表同时生成对应的实体类和Mapper文件. 配置已经完毕,其他的配置信息可以等会回头自己慢慢

Mybatis自动生成实体类、dao接口和mapping映射文件

由于Mybatis是一种半自动的ORM框架,它的工作主要是配置mapping映射文件,为了减少手动书写映射文件,可以利用mybatis生成器,自动生成实体类.dao接口以及它的映射文件,然后直接拷贝到工程中稍微修改就可以直接使用了. 生成器目录如下: 首先进入lib文件夹中,该目录如下: (图上文件下载地址:http://download.csdn.net/detail/qiwei31229/9790909) 主要修改generatorConfig.xml <?xml version="1