> Генерация сущностных классов, MyBatis Mapper и XML файла MyBatis Mapper
D:\demo
api_table.sql
в директории D:\demo\tables
DROP TABLE IF EXISTS `api`;
CREATE TABLE `api` (
`id` BIGINT(20) UNSIGNED AUTO_INCREMENT COMMENT 'id',
`name` VARCHAR(255) NOT NULL COMMENT 'Имя API',
`uri` TEXT COMMENT 'Адрес запроса',
`api_category_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'ID категории API',
`sort` BIGINT(20) UNSIGNED DEFAULT 0 COMMENT 'Сортировка',
`remark` VARCHAR(255) DEFAULT '' COMMENT 'Примечание',
`authority` VARCHAR(255) NOT NULL COMMENT 'Права доступа (authority)',
`gmt_create` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания',
`gmt_modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Дата последнего изменения',
PRIMARY KEY `pk_id` (`id`),
UNIQUE KEY `uk_authority` (`authority`)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci
AUTO_INCREMENT = 1
ROW_FORMAT = DYNAMIC
COMMENT = 'Таблица api';
// Батч-генерация сущностных классов, MyBatis Mapper и XML файла MyBatis Mapper
SqlGenerateProperties properties = new SqlGenerateProperties();
properties.setSqlFileSuffix("_table.sql");
properties.setMyBatisMapperPackage("com.gioov.demo.mapper");
properties.setEntityPackage("com.gioov.demo.entity");
properties.setSqlDirectory("D:\\tables");
properties.setEntityDirectory("D:\\demo\\src\\main\\java/com/gioov/demo/entity");
properties.setMyBatisMapperDirectory("D:\\demo\\src\\main\\java/com/gioov/demo/mapper");
properties.setMyBatisMapperXmlDirectory("D:\\demo\\src\\main\\java/com/gioov/demo/mapper");
DatabaseUtil.generateEntity(properties);
DatabaseUtil.generateMyBatisMapperXml(properties);
DatabaseUtil.generateMyBatisMapper(properties);
```#### Одиночная генерация сущностных классов, MyBatis Mapper и XML файла MyBatis Mapper
// Указание одиночного SQL файла для генерации соответствующих сущностных классов, MyBatis Mapper и XML файла MyBatis Mapper SqlGenerateProperties properties = new SqlGenerateProperties(); properties.setMyBatisMapperPackage("com.gioov.demo.mapper");
#### Генерируемый файл сущности: ApiEntity.java
```java
package com.gioov.demo.entity;
import java.io.Serializable;
import java.lang.Long;
import java.lang.String;
import java.util.Date;
/**
* @author godcheese [godcheese@outlook.com]
* @date 2018/4/23 15:58
*/
public class ApiEntity implements Serializable {
/**
* ID
*/
private Long id;
/**
* Название API
*/
private String name;
/**
* Адрес запроса
*/
private String uri;
/**
* ID каталога API
*/
private Long apiCategoryId;
/**
* Сортировка
*/
private Long sort;
/**
* Примечание
*/
private String remark;
/**
* Авторизация (authority)
*/
private String authority;
/**
* Время создания
*/
private Date gmtCreate;
/**
* Время последнего изменения
*/
private Date gmtModified;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public Long getApiCategoryId() {
return apiCategoryId;
}
public void setApiCategoryId(Long apiCategoryId) {
this.apiCategoryId = apiCategoryId;
}
public Long getSort() {
return sort;
}
public void setSort(Long sort) {
this.sort = sort;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
public Date getGmtCreate() {
return gmtCreate;
}
public void setGmtCreate(Date gmtCreate) {
this.gmtCreate = gmtCreate;
}
public Date getGmtModified() {
return gmtModified;
}
public void setGmtModified(Date gmtModified) {
this.gmtModified = gmtModified;
}
}
``````markdown
#### Сгенерированный файл маппера MyBatis: ApiMapper.java
```java
package com.gioov.demo.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.gioov.demo.entity.ApiEntity;
import java.lang.Long;
import java.util.List;
public class ApiMapper {
public String getAuthority() {
return authority;
}
}
``````md
## Сгенерированный XML файл маппера MyBatis: ApiMapper.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gioov.demo.mapper.ApiMapper">
<resultMap id="BaseResultMap" type="com.gioov.demo.entity.ApiEntity">
<id column="id" property="id" jdbcType="BIGINT"/>
<!-- ID -->
<result column="name" property="name" jdbcType="VARCHAR"/>
<!-- API name -->
<result column="uri" property="uri" jdbcType="LONGVARCHAR"/>
<!-- request uri -->
<result column="api_category_id" property="apiCategoryId" jdbcType="BIGINT"/>
<!-- API category id -->
<result column="sort" property="sort" jdbcType="BIGINT"/>
<!-- sort -->
<result column="remark" property="remark" jdbcType="VARCHAR"/>
<!-- remark -->
<result column="authority" property="authority" jdbcType="VARCHAR"/>
<!-- authority (API:UUID) -->
<result column="gmt_create" property="gmtCreate" jdbcType="DATE"/>
<!-- create time -->
<result column="gmt_modified" property="gmtModified" jdbcType="DATE"/>
<!-- modify time -->
</resultMap>
<sql id="TableName">
`api`
</sql>
<sql id="BaseColumnList">
`id`, `name`, `uri`, `api_category_id`, `sort`, `remark`, `authority`, `gmt_create`, `gmt_modified`
</sql>
</mapper>
### SQL запросы
```xml
<insert id="insertOne" useGeneratedKeys="true" keyProperty="id" parameterType="com.gioov.demo.entity.ApiEntity">
INSERT INTO
<include refid="TableName"/>
(`id`, `name`, `uri`, `api_category_id`, `sort`, `remark`, `authority`, `gmt_create`, `gmt_modified`)
VALUES (#{id}, #{name}, #{uri}, #{apiCategoryId}, #{sort}, #{remark}, #{authority}, #{gmtCreate}, #{gmtModified})
</insert>
<update id="updateOne" keyProperty="id" parameterType="com.gioov.demo.entity.ApiEntity">
UPDATE
<include refid="TableName"/>
SET `name` = #{name}, `uri` = #{uri}, `api_category_id` = #{apiCategoryId}, `sort` = #{sort}, `remark` = #{remark}, `authority` = #{authority}, `gmt_modified` = #{gmtModified}
WHERE `id` = #{id}
</update>
``````markdown
<update id="updateOne" parameterType="com.example.demo.entity.ApiEntity">
ОБНОВИТЬ
<include refid="TableName"/>
УСТАНОВИТЬ `name` = #{name}, `uri` = #{uri}, `api_category_id` = #{apiCategoryId}, `sort` = #{sort}, `remark` = #{remark}, `authority` = #{authority}, `gmt_create` = #{gmtCreate}, `gmt_modified` = #{gmtModified}
ГДЕ `id` = #{id}
</update>
<delete id="deleteOne" parameterType="long">
УДАЛИТЬ ИЗ
<include refid="TableName"/>
ГДЕ `id` = #{id}
</delete>
<select id="getOne" resultMap="BaseResultMap">
ВЫБРАТЬ
<include refid="BaseColumnList"/>
ИЗ <include refid="TableName"/> ГДЕ `id` = #{id}
</select>
<select id="listAll" resultMap="BaseResultMap">
ВЫБРАТЬ
<include refid="BaseColumnList"/>
ИЗ <include refid="TableName"/>
</select>
</mapper>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )