文件目录如图:是在idea生成的maven管理的web项目
文件创建参考这个网址
首先需要下载两个插件。是否下载插件可以在setting中自查,没有下载的话可以在图中的marketplace中查找下载。
生成文件后的目录如图:这是已经生成实体类Bean和映射mapper的文件。resources、Test是自己创建的
另外需要在文件中新建包:java中的Bean、mapper和resources中的mapper三个包
主要需要配置的文件是pom.xml和MybatisGenerator.xml两个文件。
一、pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.neu</groupId>
<artifactId>mbgdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>-->
</dependencies>
<build>
<plugins>
<!--mybatis-generator插件-->
<plugin>
<!--1-Mybatis-generator插件,用于自动生成Mapper和POJO-->
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--配置文件的位置 一定要改成配置文件的位置-->
<configurationFile>src/main/resources/MybatisGenerator.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>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
其中需要注意的问题:
- 配置文件的位置 一定要改成配置文件的位置:我的文件位置是:src/main/resources/MybatisGenerator.xml。这个文件的生成方法见下面第二条。生成后记得回来修改pom.xml中的地址。
二、MybatisGenerator.xml
生成方法:点击resources,邮件–>new–>newMybatisGeneratorFile
生成后就是这个文件。
<?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>
<classPathEntry location="D:\mavenrepository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar"/>
<context id="context1" targetRuntime="Mybatis3">
<jdbcConnection
connectionURL="jdbc:mysql://localhost:3306/his_java15?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"
driverClass="com.mysql.cj.jdbc.Driver"
password="root"
userId="root" >
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- 实体类 -->
<javaModelGenerator targetPackage="com.neu.po" targetProject="src/main/java" />
<!-- 生成Mapper.xml -->
<sqlMapGenerator targetPackage="com.neu.mapper" targetProject="src/main/resources"></sqlMapGenerator>
<!-- java的Mapper接口 -->
<javaClientGenerator targetPackage="com.neu.mapper" targetProject="src/main/java" type="XMLMAPPER" />
<table schema="root" tableName="role">
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
</table>
<!--
<table schema="root" tableName="user">
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
<columnOverride column="useType" property="role" javaType="Role" />
</table>
-->
<!--<table schema="root" tableName="Department" domainObjectName="Department">
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
<columnOverride column="DeptCode" property="deptCode"></columnOverride>
<columnOverride column="DeptName" property="deptName"></columnOverride>
<columnOverride column="DeptCategoryID" property="deptCategory" javaType="ConstantItem"></columnOverride>
<columnOverride column="DeptType" property="deptType" javaType="ConstantItem"></columnOverride>
<columnOverride column="DelMark" property="delMark"></columnOverride>
</table>-->
</context>
</generatorConfiguration>
其中需要注意的问题:
1.maven仓库中定义的地址:
<classPathEntry location="F:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar"/>
这里是maven仓库中定义的地址,一般默认C:\Users\ASUS.m2\repository
我的repository地址是F:\repository(这个是需要在maven的setting里面配置。)
打开repository找到mysql-connector-java-8.0.21.jar(版本号可能不同)即可。
复制mysql-connector-java-8.0.21.jar的jar包的地址和jar包名称。
例如:F:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar
2.注意数据库名和账号密码
<jdbcConnection
connectionURL="jdbc:mysql://localhost:3306/dept?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"
driverClass="com.mysql.cj.jdbc.Driver"
password="52xzg1314"
userId="root" >
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
在 connectionURL=“jdbc:mysql://localhost:3306/dept?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai”
中,问号前面的dept是数据库名。
password="52xzg1314"和 userId=“root” 分别是数据库密码和账号
<javaModelGenerator targetPackage="Bean" targetProject="src/main/java" />
<!-- 生成Mapper.xml -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"></sqlMapGenerator>
<!-- java的Mapper接口 -->
<javaClientGenerator targetPackage="mapper" targetProject="src/main/java" type="XMLMAPPER" />
三块分别是
Bean(实体类的package名)
mapper(mapper.xml的package名)
mapper(java的mapper接口的package名)
同时需要注意targetPackage是包的地址。地址写法参考下图和上面的代码。
4.tableName是表名,schema是账号。
<table schema="root" tableName="role">
<!--<generatedKey column="id" sqlStatement="mysql" identity="true"/>-->
</table>
同时,需要访问列名的话,在
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
中写对应的名即可。这里我注释掉了没有访问列名
配置好文件后点击右侧maven选项。
右键run as即可