一、新建Maven逆向工程的详细流程
mybaties的generator官网:http://www.mybatis.org/generator/
maven仓库:https://mvnrepository.com/
工程目录:
二、搭建Maven工程的详细步骤
2.1 在Maven仓库中搜索Mybatis Generator Core添加依赖
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
2.2 在mybaties Generator官网下载xml配置文件
网址:http://www.mybatis.org/generator/configreference/xmlconfig.html
2.2.1 新建generatorConfig.xml配置文件
将拷贝的内容放在generatorConfig.xml文件中
2.3 添加build标签到pom.xml文件中
网址:http://www.mybatis.org/generator/running/runningWithMaven.html
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
</plugin>
</plugins>
</build>
2.4 运行
命令:mybatis-generator:generate
2.5 编译时出错
Window-Preference-Java-Install jre
2.6 运行结果
2.7 详细代码
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="config/db.properties"/>
<!-- 指定驱动包的位置 -->
<!-- 在本地新建的Maven仓库中下载的离线Mysql的jar -->
<classPathEntry location="D:\Maven\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar" />
<!-- 配置数据库连接信息 -->
<!-- id属性的值为任意值,targetRuntime的值为MyBatis3 -->
<context id="mybatiesStudentTable" targetRuntime="MyBatis3">
<jdbcConnection driverClass="${driver}"
connectionURL="${url}" userId="${username}" password="${password}">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 设置生成的JavaBean实体类的保存位置 -->
<javaModelGenerator targetPackage="com.neuedu.mybaties.entity"
targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 设置XXDao.xml生成的位置Mapper.xml -->
<sqlMapGenerator targetPackage="com.neuedu.mybaties.dao"
targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 设置mapper.java的生成位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.neuedu.mybaties.dao" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 可以存在多个表格 tableName的值为对应数据库中哪张表,domainObjectName生成的实体类的名称-->
<table tableName="student" domainObjectName="StudentGenerator">
</table>
</context>
</generatorConfiguration>
pom.xml
<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.neuedu.demo</groupId>
<artifactId>testMybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
</dependencies>
<!--添加build运行 -->
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
</plugin>
</plugins>
</build>
</project>
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/mybaties?useUnicode=true&characterEncoding=utf-8
username=root
password=root123
build成功之后生成的工程目录
StudentGeneratorMapper.java
package com.neuedu.mybaties.dao;
import com.neuedu.mybaties.entity.StudentGenerator;
import com.neuedu.mybaties.entity.StudentGeneratorExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface StudentGeneratorMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
long countByExample(StudentGeneratorExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int deleteByExample(StudentGeneratorExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int deleteByPrimaryKey(Integer stuno);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int insert(StudentGenerator record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int insertSelective(StudentGenerator record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
List<StudentGenerator> selectByExample(StudentGeneratorExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
StudentGenerator selectByPrimaryKey(Integer stuno);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int updateByExampleSelective(@Param("record") StudentGenerator record, @Param("example") StudentGeneratorExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int updateByExample(@Param("record") StudentGenerator record, @Param("example") StudentGeneratorExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int updateByPrimaryKeySelective(StudentGenerator record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table student
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
int updateByPrimaryKey(StudentGenerator record);
}
StudentGenerator.java
package com.neuedu.mybaties.entity;
import java.util.Date;
public class StudentGenerator {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column student.stuno
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
private Integer stuno;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column student.stuname
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
private String stuname;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column student.gender
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
private String gender;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column student.birthday
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
private Date birthday;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column student.classno
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
private Integer classno;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column student.stuno
*
* @return the value of student.stuno
*
* @mbg.generated Fri May 31 09:33:36 CST 2019
*/
public Integer getStuno() {
return stuno;
}
/**
* This method was generated by MyBatis Generato