整合 orm

This commit is contained in:
shikong 2023-08-11 16:21:14 +08:00
parent 005b9b0dc1
commit 58d1ae1124
19 changed files with 3016 additions and 7 deletions

View File

@ -19,6 +19,12 @@
</properties>
<dependencies>
<dependency>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>orm</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>common</artifactId>

View File

@ -0,0 +1,28 @@
package cn.skcks.docking.gb28181.orm;
import cn.skcks.docking.gb28181.orm.mybatis.operation.OperateTableMapper;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@Order(0)
@RequiredArgsConstructor
@MapperScans({
@MapperScan("cn.skcks.docking.gb28181.orm.mybatis.dynamic"),
@MapperScan("cn.skcks.docking.gb28181.orm.mybatis.operation"),
})
public class DockingOrmInitService {
private final OperateTableMapper mapper;
@PostConstruct
public void init() {
log.info("[orm] 自动建表");
mapper.createDeviceTable();
}
}

View File

@ -6,6 +6,7 @@ import cn.skcks.docking.gb28181.core.sip.service.SipService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.SmartLifecycle;
import org.springframework.context.annotation.DependsOn;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@ -14,6 +15,7 @@ import org.springframework.util.CollectionUtils;
@Slf4j
@RequiredArgsConstructor
@Component
@DependsOn("dockingOrmInitService")
public class SipStarter implements SmartLifecycle {
private final SipConfig sipConfig;
private final SipService sipService;

View File

@ -18,4 +18,115 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot -starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<!--Mybatis-DynamicSQL-->
<dependency>
<groupId>org.mybatis.dynamic-sql</groupId>
<artifactId>mybatis-dynamic-sql</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis-generator-maven-plugin.version}</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/config/generatorConfig.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>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,218 @@
package cn.skcks.docking.gb28181.orm.mybatis.basic.mapper;
import cn.skcks.docking.gb28181.orm.mybatis.basic.model.DockingDevice;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.type.JdbcType;
public interface DockingDeviceMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table docking_device
*
* @mbg.generated
*/
@Delete({
"delete from docking_device",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table docking_device
*
* @mbg.generated
*/
@Insert({
"insert into docking_device (id, device_id, ",
"name, manufacturer, ",
"model, firmware, ",
"transport, stream_mode, ",
"on_line, register_time, ",
"keepalive_time, ip, ",
"create_time, update_time, ",
"port, expires, subscribe_cycle_for_catalog, ",
"subscribe_cycle_for_mobile_position, mobile_position_submission_interval, ",
"subscribe_cycle_for_alarm, host_address, ",
"charset, ssrc_check, ",
"geo_coord_sys, media_server_id, ",
"custom_name, sdp_ip, ",
"local_ip, password, ",
"as_message_channel, keepalive_interval_time, ",
"switch_primary_sub_stream, broadcast_push_after_ack)",
"values (#{id,jdbcType=BIGINT}, #{deviceId,jdbcType=VARCHAR}, ",
"#{name,jdbcType=VARCHAR}, #{manufacturer,jdbcType=VARCHAR}, ",
"#{model,jdbcType=VARCHAR}, #{firmware,jdbcType=VARCHAR}, ",
"#{transport,jdbcType=VARCHAR}, #{streamMode,jdbcType=VARCHAR}, ",
"#{onLine,jdbcType=BIT}, #{registerTime,jdbcType=VARCHAR}, ",
"#{keepaliveTime,jdbcType=VARCHAR}, #{ip,jdbcType=VARCHAR}, ",
"#{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, ",
"#{port,jdbcType=INTEGER}, #{expires,jdbcType=INTEGER}, #{subscribeCycleForCatalog,jdbcType=INTEGER}, ",
"#{subscribeCycleForMobilePosition,jdbcType=INTEGER}, #{mobilePositionSubmissionInterval,jdbcType=INTEGER}, ",
"#{subscribeCycleForAlarm,jdbcType=INTEGER}, #{hostAddress,jdbcType=VARCHAR}, ",
"#{charset,jdbcType=VARCHAR}, #{ssrcCheck,jdbcType=BIT}, ",
"#{geoCoordSys,jdbcType=VARCHAR}, #{mediaServerId,jdbcType=VARCHAR}, ",
"#{customName,jdbcType=VARCHAR}, #{sdpIp,jdbcType=VARCHAR}, ",
"#{localIp,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, ",
"#{asMessageChannel,jdbcType=BIT}, #{keepaliveIntervalTime,jdbcType=INTEGER}, ",
"#{switchPrimarySubStream,jdbcType=BIT}, #{broadcastPushAfterAck,jdbcType=BIT})"
})
int insert(DockingDevice row);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table docking_device
*
* @mbg.generated
*/
@Select({
"select",
"id, device_id, name, manufacturer, model, firmware, transport, stream_mode, ",
"on_line, register_time, keepalive_time, ip, create_time, update_time, port, ",
"expires, subscribe_cycle_for_catalog, subscribe_cycle_for_mobile_position, mobile_position_submission_interval, ",
"subscribe_cycle_for_alarm, host_address, charset, ssrc_check, geo_coord_sys, ",
"media_server_id, custom_name, sdp_ip, local_ip, password, as_message_channel, ",
"keepalive_interval_time, switch_primary_sub_stream, broadcast_push_after_ack",
"from docking_device",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="device_id", property="deviceId", jdbcType=JdbcType.VARCHAR),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="manufacturer", property="manufacturer", jdbcType=JdbcType.VARCHAR),
@Result(column="model", property="model", jdbcType=JdbcType.VARCHAR),
@Result(column="firmware", property="firmware", jdbcType=JdbcType.VARCHAR),
@Result(column="transport", property="transport", jdbcType=JdbcType.VARCHAR),
@Result(column="stream_mode", property="streamMode", jdbcType=JdbcType.VARCHAR),
@Result(column="on_line", property="onLine", jdbcType=JdbcType.BIT),
@Result(column="register_time", property="registerTime", jdbcType=JdbcType.VARCHAR),
@Result(column="keepalive_time", property="keepaliveTime", jdbcType=JdbcType.VARCHAR),
@Result(column="ip", property="ip", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.VARCHAR),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.VARCHAR),
@Result(column="port", property="port", jdbcType=JdbcType.INTEGER),
@Result(column="expires", property="expires", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_catalog", property="subscribeCycleForCatalog", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_mobile_position", property="subscribeCycleForMobilePosition", jdbcType=JdbcType.INTEGER),
@Result(column="mobile_position_submission_interval", property="mobilePositionSubmissionInterval", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_alarm", property="subscribeCycleForAlarm", jdbcType=JdbcType.INTEGER),
@Result(column="host_address", property="hostAddress", jdbcType=JdbcType.VARCHAR),
@Result(column="charset", property="charset", jdbcType=JdbcType.VARCHAR),
@Result(column="ssrc_check", property="ssrcCheck", jdbcType=JdbcType.BIT),
@Result(column="geo_coord_sys", property="geoCoordSys", jdbcType=JdbcType.VARCHAR),
@Result(column="media_server_id", property="mediaServerId", jdbcType=JdbcType.VARCHAR),
@Result(column="custom_name", property="customName", jdbcType=JdbcType.VARCHAR),
@Result(column="sdp_ip", property="sdpIp", jdbcType=JdbcType.VARCHAR),
@Result(column="local_ip", property="localIp", jdbcType=JdbcType.VARCHAR),
@Result(column="password", property="password", jdbcType=JdbcType.VARCHAR),
@Result(column="as_message_channel", property="asMessageChannel", jdbcType=JdbcType.BIT),
@Result(column="keepalive_interval_time", property="keepaliveIntervalTime", jdbcType=JdbcType.INTEGER),
@Result(column="switch_primary_sub_stream", property="switchPrimarySubStream", jdbcType=JdbcType.BIT),
@Result(column="broadcast_push_after_ack", property="broadcastPushAfterAck", jdbcType=JdbcType.BIT)
})
DockingDevice selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table docking_device
*
* @mbg.generated
*/
@Select({
"select",
"id, device_id, name, manufacturer, model, firmware, transport, stream_mode, ",
"on_line, register_time, keepalive_time, ip, create_time, update_time, port, ",
"expires, subscribe_cycle_for_catalog, subscribe_cycle_for_mobile_position, mobile_position_submission_interval, ",
"subscribe_cycle_for_alarm, host_address, charset, ssrc_check, geo_coord_sys, ",
"media_server_id, custom_name, sdp_ip, local_ip, password, as_message_channel, ",
"keepalive_interval_time, switch_primary_sub_stream, broadcast_push_after_ack",
"from docking_device"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="device_id", property="deviceId", jdbcType=JdbcType.VARCHAR),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="manufacturer", property="manufacturer", jdbcType=JdbcType.VARCHAR),
@Result(column="model", property="model", jdbcType=JdbcType.VARCHAR),
@Result(column="firmware", property="firmware", jdbcType=JdbcType.VARCHAR),
@Result(column="transport", property="transport", jdbcType=JdbcType.VARCHAR),
@Result(column="stream_mode", property="streamMode", jdbcType=JdbcType.VARCHAR),
@Result(column="on_line", property="onLine", jdbcType=JdbcType.BIT),
@Result(column="register_time", property="registerTime", jdbcType=JdbcType.VARCHAR),
@Result(column="keepalive_time", property="keepaliveTime", jdbcType=JdbcType.VARCHAR),
@Result(column="ip", property="ip", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.VARCHAR),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.VARCHAR),
@Result(column="port", property="port", jdbcType=JdbcType.INTEGER),
@Result(column="expires", property="expires", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_catalog", property="subscribeCycleForCatalog", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_mobile_position", property="subscribeCycleForMobilePosition", jdbcType=JdbcType.INTEGER),
@Result(column="mobile_position_submission_interval", property="mobilePositionSubmissionInterval", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_alarm", property="subscribeCycleForAlarm", jdbcType=JdbcType.INTEGER),
@Result(column="host_address", property="hostAddress", jdbcType=JdbcType.VARCHAR),
@Result(column="charset", property="charset", jdbcType=JdbcType.VARCHAR),
@Result(column="ssrc_check", property="ssrcCheck", jdbcType=JdbcType.BIT),
@Result(column="geo_coord_sys", property="geoCoordSys", jdbcType=JdbcType.VARCHAR),
@Result(column="media_server_id", property="mediaServerId", jdbcType=JdbcType.VARCHAR),
@Result(column="custom_name", property="customName", jdbcType=JdbcType.VARCHAR),
@Result(column="sdp_ip", property="sdpIp", jdbcType=JdbcType.VARCHAR),
@Result(column="local_ip", property="localIp", jdbcType=JdbcType.VARCHAR),
@Result(column="password", property="password", jdbcType=JdbcType.VARCHAR),
@Result(column="as_message_channel", property="asMessageChannel", jdbcType=JdbcType.BIT),
@Result(column="keepalive_interval_time", property="keepaliveIntervalTime", jdbcType=JdbcType.INTEGER),
@Result(column="switch_primary_sub_stream", property="switchPrimarySubStream", jdbcType=JdbcType.BIT),
@Result(column="broadcast_push_after_ack", property="broadcastPushAfterAck", jdbcType=JdbcType.BIT)
})
List<DockingDevice> selectAll();
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table docking_device
*
* @mbg.generated
*/
@Update({
"update docking_device",
"set device_id = #{deviceId,jdbcType=VARCHAR},",
"name = #{name,jdbcType=VARCHAR},",
"manufacturer = #{manufacturer,jdbcType=VARCHAR},",
"model = #{model,jdbcType=VARCHAR},",
"firmware = #{firmware,jdbcType=VARCHAR},",
"transport = #{transport,jdbcType=VARCHAR},",
"stream_mode = #{streamMode,jdbcType=VARCHAR},",
"on_line = #{onLine,jdbcType=BIT},",
"register_time = #{registerTime,jdbcType=VARCHAR},",
"keepalive_time = #{keepaliveTime,jdbcType=VARCHAR},",
"ip = #{ip,jdbcType=VARCHAR},",
"create_time = #{createTime,jdbcType=VARCHAR},",
"update_time = #{updateTime,jdbcType=VARCHAR},",
"port = #{port,jdbcType=INTEGER},",
"expires = #{expires,jdbcType=INTEGER},",
"subscribe_cycle_for_catalog = #{subscribeCycleForCatalog,jdbcType=INTEGER},",
"subscribe_cycle_for_mobile_position = #{subscribeCycleForMobilePosition,jdbcType=INTEGER},",
"mobile_position_submission_interval = #{mobilePositionSubmissionInterval,jdbcType=INTEGER},",
"subscribe_cycle_for_alarm = #{subscribeCycleForAlarm,jdbcType=INTEGER},",
"host_address = #{hostAddress,jdbcType=VARCHAR},",
"charset = #{charset,jdbcType=VARCHAR},",
"ssrc_check = #{ssrcCheck,jdbcType=BIT},",
"geo_coord_sys = #{geoCoordSys,jdbcType=VARCHAR},",
"media_server_id = #{mediaServerId,jdbcType=VARCHAR},",
"custom_name = #{customName,jdbcType=VARCHAR},",
"sdp_ip = #{sdpIp,jdbcType=VARCHAR},",
"local_ip = #{localIp,jdbcType=VARCHAR},",
"password = #{password,jdbcType=VARCHAR},",
"as_message_channel = #{asMessageChannel,jdbcType=BIT},",
"keepalive_interval_time = #{keepaliveIntervalTime,jdbcType=INTEGER},",
"switch_primary_sub_stream = #{switchPrimarySubStream,jdbcType=BIT},",
"broadcast_push_after_ack = #{broadcastPushAfterAck,jdbcType=BIT}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(DockingDevice row);
}

View File

@ -0,0 +1,183 @@
package cn.skcks.docking.gb28181.orm.mybatis.dynamic.mapper;
import jakarta.annotation.Generated;
import java.sql.JDBCType;
import org.mybatis.dynamic.sql.AliasableSqlTable;
import org.mybatis.dynamic.sql.SqlColumn;
public final class DockingDeviceDynamicSqlSupport {
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
public static final DockingDevice dockingDevice = new DockingDevice();
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.id")
public static final SqlColumn<Long> id = dockingDevice.id;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.device_id")
public static final SqlColumn<String> deviceId = dockingDevice.deviceId;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.name")
public static final SqlColumn<String> name = dockingDevice.name;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.manufacturer")
public static final SqlColumn<String> manufacturer = dockingDevice.manufacturer;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.model")
public static final SqlColumn<String> model = dockingDevice.model;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.firmware")
public static final SqlColumn<String> firmware = dockingDevice.firmware;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.transport")
public static final SqlColumn<String> transport = dockingDevice.transport;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.stream_mode")
public static final SqlColumn<String> streamMode = dockingDevice.streamMode;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.on_line")
public static final SqlColumn<Boolean> onLine = dockingDevice.onLine;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.register_time")
public static final SqlColumn<String> registerTime = dockingDevice.registerTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_time")
public static final SqlColumn<String> keepaliveTime = dockingDevice.keepaliveTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ip")
public static final SqlColumn<String> ip = dockingDevice.ip;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.create_time")
public static final SqlColumn<String> createTime = dockingDevice.createTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.update_time")
public static final SqlColumn<String> updateTime = dockingDevice.updateTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.port")
public static final SqlColumn<Integer> port = dockingDevice.port;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.expires")
public static final SqlColumn<Integer> expires = dockingDevice.expires;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_catalog")
public static final SqlColumn<Integer> subscribeCycleForCatalog = dockingDevice.subscribeCycleForCatalog;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_mobile_position")
public static final SqlColumn<Integer> subscribeCycleForMobilePosition = dockingDevice.subscribeCycleForMobilePosition;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.mobile_position_submission_interval")
public static final SqlColumn<Integer> mobilePositionSubmissionInterval = dockingDevice.mobilePositionSubmissionInterval;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_alarm")
public static final SqlColumn<Integer> subscribeCycleForAlarm = dockingDevice.subscribeCycleForAlarm;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.host_address")
public static final SqlColumn<String> hostAddress = dockingDevice.hostAddress;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.charset")
public static final SqlColumn<String> charset = dockingDevice.charset;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ssrc_check")
public static final SqlColumn<Boolean> ssrcCheck = dockingDevice.ssrcCheck;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.geo_coord_sys")
public static final SqlColumn<String> geoCoordSys = dockingDevice.geoCoordSys;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.media_server_id")
public static final SqlColumn<String> mediaServerId = dockingDevice.mediaServerId;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.custom_name")
public static final SqlColumn<String> customName = dockingDevice.customName;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.sdp_ip")
public static final SqlColumn<String> sdpIp = dockingDevice.sdpIp;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.local_ip")
public static final SqlColumn<String> localIp = dockingDevice.localIp;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.password")
public static final SqlColumn<String> password = dockingDevice.password;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.as_message_channel")
public static final SqlColumn<Boolean> asMessageChannel = dockingDevice.asMessageChannel;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_interval_time")
public static final SqlColumn<Integer> keepaliveIntervalTime = dockingDevice.keepaliveIntervalTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.switch_primary_sub_stream")
public static final SqlColumn<Boolean> switchPrimarySubStream = dockingDevice.switchPrimarySubStream;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.broadcast_push_after_ack")
public static final SqlColumn<Boolean> broadcastPushAfterAck = dockingDevice.broadcastPushAfterAck;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
public static final class DockingDevice extends AliasableSqlTable<DockingDevice> {
public final SqlColumn<Long> id = column("id", JDBCType.BIGINT);
public final SqlColumn<String> deviceId = column("device_id", JDBCType.VARCHAR);
public final SqlColumn<String> name = column("name", JDBCType.VARCHAR);
public final SqlColumn<String> manufacturer = column("manufacturer", JDBCType.VARCHAR);
public final SqlColumn<String> model = column("model", JDBCType.VARCHAR);
public final SqlColumn<String> firmware = column("firmware", JDBCType.VARCHAR);
public final SqlColumn<String> transport = column("transport", JDBCType.VARCHAR);
public final SqlColumn<String> streamMode = column("stream_mode", JDBCType.VARCHAR);
public final SqlColumn<Boolean> onLine = column("on_line", JDBCType.BIT);
public final SqlColumn<String> registerTime = column("register_time", JDBCType.VARCHAR);
public final SqlColumn<String> keepaliveTime = column("keepalive_time", JDBCType.VARCHAR);
public final SqlColumn<String> ip = column("ip", JDBCType.VARCHAR);
public final SqlColumn<String> createTime = column("create_time", JDBCType.VARCHAR);
public final SqlColumn<String> updateTime = column("update_time", JDBCType.VARCHAR);
public final SqlColumn<Integer> port = column("port", JDBCType.INTEGER);
public final SqlColumn<Integer> expires = column("expires", JDBCType.INTEGER);
public final SqlColumn<Integer> subscribeCycleForCatalog = column("subscribe_cycle_for_catalog", JDBCType.INTEGER);
public final SqlColumn<Integer> subscribeCycleForMobilePosition = column("subscribe_cycle_for_mobile_position", JDBCType.INTEGER);
public final SqlColumn<Integer> mobilePositionSubmissionInterval = column("mobile_position_submission_interval", JDBCType.INTEGER);
public final SqlColumn<Integer> subscribeCycleForAlarm = column("subscribe_cycle_for_alarm", JDBCType.INTEGER);
public final SqlColumn<String> hostAddress = column("host_address", JDBCType.VARCHAR);
public final SqlColumn<String> charset = column("charset", JDBCType.VARCHAR);
public final SqlColumn<Boolean> ssrcCheck = column("ssrc_check", JDBCType.BIT);
public final SqlColumn<String> geoCoordSys = column("geo_coord_sys", JDBCType.VARCHAR);
public final SqlColumn<String> mediaServerId = column("media_server_id", JDBCType.VARCHAR);
public final SqlColumn<String> customName = column("custom_name", JDBCType.VARCHAR);
public final SqlColumn<String> sdpIp = column("sdp_ip", JDBCType.VARCHAR);
public final SqlColumn<String> localIp = column("local_ip", JDBCType.VARCHAR);
public final SqlColumn<String> password = column("password", JDBCType.VARCHAR);
public final SqlColumn<Boolean> asMessageChannel = column("as_message_channel", JDBCType.BIT);
public final SqlColumn<Integer> keepaliveIntervalTime = column("keepalive_interval_time", JDBCType.INTEGER);
public final SqlColumn<Boolean> switchPrimarySubStream = column("switch_primary_sub_stream", JDBCType.BIT);
public final SqlColumn<Boolean> broadcastPushAfterAck = column("broadcast_push_after_ack", JDBCType.BIT);
public DockingDevice() {
super("docking_device", DockingDevice::new);
}
}
}

View File

@ -0,0 +1,393 @@
package cn.skcks.docking.gb28181.orm.mybatis.dynamic.mapper;
import static cn.skcks.docking.gb28181.orm.mybatis.dynamic.mapper.DockingDeviceDynamicSqlSupport.*;
import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
import cn.skcks.docking.gb28181.orm.mybatis.dynamic.model.DockingDevice;
import jakarta.annotation.Generated;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.BasicColumn;
import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
import org.mybatis.dynamic.sql.select.CountDSLCompleter;
import org.mybatis.dynamic.sql.select.SelectDSLCompleter;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.UpdateDSLCompleter;
import org.mybatis.dynamic.sql.update.UpdateModel;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
import org.mybatis.dynamic.sql.util.mybatis3.CommonCountMapper;
import org.mybatis.dynamic.sql.util.mybatis3.CommonDeleteMapper;
import org.mybatis.dynamic.sql.util.mybatis3.CommonInsertMapper;
import org.mybatis.dynamic.sql.util.mybatis3.CommonUpdateMapper;
import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
@Mapper
public interface DockingDeviceMapper extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper<DockingDevice>, CommonUpdateMapper {
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
BasicColumn[] selectList = BasicColumn.columnList(id, deviceId, name, manufacturer, model, firmware, transport, streamMode, onLine, registerTime, keepaliveTime, ip, createTime, updateTime, port, expires, subscribeCycleForCatalog, subscribeCycleForMobilePosition, mobilePositionSubmissionInterval, subscribeCycleForAlarm, hostAddress, charset, ssrcCheck, geoCoordSys, mediaServerId, customName, sdpIp, localIp, password, asMessageChannel, keepaliveIntervalTime, switchPrimarySubStream, broadcastPushAfterAck);
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@Results(id="DockingDeviceResult", value = {
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="device_id", property="deviceId", jdbcType=JdbcType.VARCHAR),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="manufacturer", property="manufacturer", jdbcType=JdbcType.VARCHAR),
@Result(column="model", property="model", jdbcType=JdbcType.VARCHAR),
@Result(column="firmware", property="firmware", jdbcType=JdbcType.VARCHAR),
@Result(column="transport", property="transport", jdbcType=JdbcType.VARCHAR),
@Result(column="stream_mode", property="streamMode", jdbcType=JdbcType.VARCHAR),
@Result(column="on_line", property="onLine", jdbcType=JdbcType.BIT),
@Result(column="register_time", property="registerTime", jdbcType=JdbcType.VARCHAR),
@Result(column="keepalive_time", property="keepaliveTime", jdbcType=JdbcType.VARCHAR),
@Result(column="ip", property="ip", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.VARCHAR),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.VARCHAR),
@Result(column="port", property="port", jdbcType=JdbcType.INTEGER),
@Result(column="expires", property="expires", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_catalog", property="subscribeCycleForCatalog", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_mobile_position", property="subscribeCycleForMobilePosition", jdbcType=JdbcType.INTEGER),
@Result(column="mobile_position_submission_interval", property="mobilePositionSubmissionInterval", jdbcType=JdbcType.INTEGER),
@Result(column="subscribe_cycle_for_alarm", property="subscribeCycleForAlarm", jdbcType=JdbcType.INTEGER),
@Result(column="host_address", property="hostAddress", jdbcType=JdbcType.VARCHAR),
@Result(column="charset", property="charset", jdbcType=JdbcType.VARCHAR),
@Result(column="ssrc_check", property="ssrcCheck", jdbcType=JdbcType.BIT),
@Result(column="geo_coord_sys", property="geoCoordSys", jdbcType=JdbcType.VARCHAR),
@Result(column="media_server_id", property="mediaServerId", jdbcType=JdbcType.VARCHAR),
@Result(column="custom_name", property="customName", jdbcType=JdbcType.VARCHAR),
@Result(column="sdp_ip", property="sdpIp", jdbcType=JdbcType.VARCHAR),
@Result(column="local_ip", property="localIp", jdbcType=JdbcType.VARCHAR),
@Result(column="password", property="password", jdbcType=JdbcType.VARCHAR),
@Result(column="as_message_channel", property="asMessageChannel", jdbcType=JdbcType.BIT),
@Result(column="keepalive_interval_time", property="keepaliveIntervalTime", jdbcType=JdbcType.INTEGER),
@Result(column="switch_primary_sub_stream", property="switchPrimarySubStream", jdbcType=JdbcType.BIT),
@Result(column="broadcast_push_after_ack", property="broadcastPushAfterAck", jdbcType=JdbcType.BIT)
})
List<DockingDevice> selectMany(SelectStatementProvider selectStatement);
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@ResultMap("DockingDeviceResult")
Optional<DockingDevice> selectOne(SelectStatementProvider selectStatement);
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default long count(CountDSLCompleter completer) {
return MyBatis3Utils.countFrom(this::count, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int delete(DeleteDSLCompleter completer) {
return MyBatis3Utils.deleteFrom(this::delete, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int deleteByPrimaryKey(Long id_) {
return delete(c ->
c.where(id, isEqualTo(id_))
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int insert(DockingDevice row) {
return MyBatis3Utils.insert(this::insert, row, dockingDevice, c ->
c.map(id).toProperty("id")
.map(deviceId).toProperty("deviceId")
.map(name).toProperty("name")
.map(manufacturer).toProperty("manufacturer")
.map(model).toProperty("model")
.map(firmware).toProperty("firmware")
.map(transport).toProperty("transport")
.map(streamMode).toProperty("streamMode")
.map(onLine).toProperty("onLine")
.map(registerTime).toProperty("registerTime")
.map(keepaliveTime).toProperty("keepaliveTime")
.map(ip).toProperty("ip")
.map(createTime).toProperty("createTime")
.map(updateTime).toProperty("updateTime")
.map(port).toProperty("port")
.map(expires).toProperty("expires")
.map(subscribeCycleForCatalog).toProperty("subscribeCycleForCatalog")
.map(subscribeCycleForMobilePosition).toProperty("subscribeCycleForMobilePosition")
.map(mobilePositionSubmissionInterval).toProperty("mobilePositionSubmissionInterval")
.map(subscribeCycleForAlarm).toProperty("subscribeCycleForAlarm")
.map(hostAddress).toProperty("hostAddress")
.map(charset).toProperty("charset")
.map(ssrcCheck).toProperty("ssrcCheck")
.map(geoCoordSys).toProperty("geoCoordSys")
.map(mediaServerId).toProperty("mediaServerId")
.map(customName).toProperty("customName")
.map(sdpIp).toProperty("sdpIp")
.map(localIp).toProperty("localIp")
.map(password).toProperty("password")
.map(asMessageChannel).toProperty("asMessageChannel")
.map(keepaliveIntervalTime).toProperty("keepaliveIntervalTime")
.map(switchPrimarySubStream).toProperty("switchPrimarySubStream")
.map(broadcastPushAfterAck).toProperty("broadcastPushAfterAck")
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int insertMultiple(Collection<DockingDevice> records) {
return MyBatis3Utils.insertMultiple(this::insertMultiple, records, dockingDevice, c ->
c.map(id).toProperty("id")
.map(deviceId).toProperty("deviceId")
.map(name).toProperty("name")
.map(manufacturer).toProperty("manufacturer")
.map(model).toProperty("model")
.map(firmware).toProperty("firmware")
.map(transport).toProperty("transport")
.map(streamMode).toProperty("streamMode")
.map(onLine).toProperty("onLine")
.map(registerTime).toProperty("registerTime")
.map(keepaliveTime).toProperty("keepaliveTime")
.map(ip).toProperty("ip")
.map(createTime).toProperty("createTime")
.map(updateTime).toProperty("updateTime")
.map(port).toProperty("port")
.map(expires).toProperty("expires")
.map(subscribeCycleForCatalog).toProperty("subscribeCycleForCatalog")
.map(subscribeCycleForMobilePosition).toProperty("subscribeCycleForMobilePosition")
.map(mobilePositionSubmissionInterval).toProperty("mobilePositionSubmissionInterval")
.map(subscribeCycleForAlarm).toProperty("subscribeCycleForAlarm")
.map(hostAddress).toProperty("hostAddress")
.map(charset).toProperty("charset")
.map(ssrcCheck).toProperty("ssrcCheck")
.map(geoCoordSys).toProperty("geoCoordSys")
.map(mediaServerId).toProperty("mediaServerId")
.map(customName).toProperty("customName")
.map(sdpIp).toProperty("sdpIp")
.map(localIp).toProperty("localIp")
.map(password).toProperty("password")
.map(asMessageChannel).toProperty("asMessageChannel")
.map(keepaliveIntervalTime).toProperty("keepaliveIntervalTime")
.map(switchPrimarySubStream).toProperty("switchPrimarySubStream")
.map(broadcastPushAfterAck).toProperty("broadcastPushAfterAck")
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int insertSelective(DockingDevice row) {
return MyBatis3Utils.insert(this::insert, row, dockingDevice, c ->
c.map(id).toPropertyWhenPresent("id", row::getId)
.map(deviceId).toPropertyWhenPresent("deviceId", row::getDeviceId)
.map(name).toPropertyWhenPresent("name", row::getName)
.map(manufacturer).toPropertyWhenPresent("manufacturer", row::getManufacturer)
.map(model).toPropertyWhenPresent("model", row::getModel)
.map(firmware).toPropertyWhenPresent("firmware", row::getFirmware)
.map(transport).toPropertyWhenPresent("transport", row::getTransport)
.map(streamMode).toPropertyWhenPresent("streamMode", row::getStreamMode)
.map(onLine).toPropertyWhenPresent("onLine", row::getOnLine)
.map(registerTime).toPropertyWhenPresent("registerTime", row::getRegisterTime)
.map(keepaliveTime).toPropertyWhenPresent("keepaliveTime", row::getKeepaliveTime)
.map(ip).toPropertyWhenPresent("ip", row::getIp)
.map(createTime).toPropertyWhenPresent("createTime", row::getCreateTime)
.map(updateTime).toPropertyWhenPresent("updateTime", row::getUpdateTime)
.map(port).toPropertyWhenPresent("port", row::getPort)
.map(expires).toPropertyWhenPresent("expires", row::getExpires)
.map(subscribeCycleForCatalog).toPropertyWhenPresent("subscribeCycleForCatalog", row::getSubscribeCycleForCatalog)
.map(subscribeCycleForMobilePosition).toPropertyWhenPresent("subscribeCycleForMobilePosition", row::getSubscribeCycleForMobilePosition)
.map(mobilePositionSubmissionInterval).toPropertyWhenPresent("mobilePositionSubmissionInterval", row::getMobilePositionSubmissionInterval)
.map(subscribeCycleForAlarm).toPropertyWhenPresent("subscribeCycleForAlarm", row::getSubscribeCycleForAlarm)
.map(hostAddress).toPropertyWhenPresent("hostAddress", row::getHostAddress)
.map(charset).toPropertyWhenPresent("charset", row::getCharset)
.map(ssrcCheck).toPropertyWhenPresent("ssrcCheck", row::getSsrcCheck)
.map(geoCoordSys).toPropertyWhenPresent("geoCoordSys", row::getGeoCoordSys)
.map(mediaServerId).toPropertyWhenPresent("mediaServerId", row::getMediaServerId)
.map(customName).toPropertyWhenPresent("customName", row::getCustomName)
.map(sdpIp).toPropertyWhenPresent("sdpIp", row::getSdpIp)
.map(localIp).toPropertyWhenPresent("localIp", row::getLocalIp)
.map(password).toPropertyWhenPresent("password", row::getPassword)
.map(asMessageChannel).toPropertyWhenPresent("asMessageChannel", row::getAsMessageChannel)
.map(keepaliveIntervalTime).toPropertyWhenPresent("keepaliveIntervalTime", row::getKeepaliveIntervalTime)
.map(switchPrimarySubStream).toPropertyWhenPresent("switchPrimarySubStream", row::getSwitchPrimarySubStream)
.map(broadcastPushAfterAck).toPropertyWhenPresent("broadcastPushAfterAck", row::getBroadcastPushAfterAck)
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default Optional<DockingDevice> selectOne(SelectDSLCompleter completer) {
return MyBatis3Utils.selectOne(this::selectOne, selectList, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default List<DockingDevice> select(SelectDSLCompleter completer) {
return MyBatis3Utils.selectList(this::selectMany, selectList, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default List<DockingDevice> selectDistinct(SelectDSLCompleter completer) {
return MyBatis3Utils.selectDistinct(this::selectMany, selectList, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default Optional<DockingDevice> selectByPrimaryKey(Long id_) {
return selectOne(c ->
c.where(id, isEqualTo(id_))
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int update(UpdateDSLCompleter completer) {
return MyBatis3Utils.update(this::update, dockingDevice, completer);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
static UpdateDSL<UpdateModel> updateAllColumns(DockingDevice row, UpdateDSL<UpdateModel> dsl) {
return dsl.set(id).equalTo(row::getId)
.set(deviceId).equalTo(row::getDeviceId)
.set(name).equalTo(row::getName)
.set(manufacturer).equalTo(row::getManufacturer)
.set(model).equalTo(row::getModel)
.set(firmware).equalTo(row::getFirmware)
.set(transport).equalTo(row::getTransport)
.set(streamMode).equalTo(row::getStreamMode)
.set(onLine).equalTo(row::getOnLine)
.set(registerTime).equalTo(row::getRegisterTime)
.set(keepaliveTime).equalTo(row::getKeepaliveTime)
.set(ip).equalTo(row::getIp)
.set(createTime).equalTo(row::getCreateTime)
.set(updateTime).equalTo(row::getUpdateTime)
.set(port).equalTo(row::getPort)
.set(expires).equalTo(row::getExpires)
.set(subscribeCycleForCatalog).equalTo(row::getSubscribeCycleForCatalog)
.set(subscribeCycleForMobilePosition).equalTo(row::getSubscribeCycleForMobilePosition)
.set(mobilePositionSubmissionInterval).equalTo(row::getMobilePositionSubmissionInterval)
.set(subscribeCycleForAlarm).equalTo(row::getSubscribeCycleForAlarm)
.set(hostAddress).equalTo(row::getHostAddress)
.set(charset).equalTo(row::getCharset)
.set(ssrcCheck).equalTo(row::getSsrcCheck)
.set(geoCoordSys).equalTo(row::getGeoCoordSys)
.set(mediaServerId).equalTo(row::getMediaServerId)
.set(customName).equalTo(row::getCustomName)
.set(sdpIp).equalTo(row::getSdpIp)
.set(localIp).equalTo(row::getLocalIp)
.set(password).equalTo(row::getPassword)
.set(asMessageChannel).equalTo(row::getAsMessageChannel)
.set(keepaliveIntervalTime).equalTo(row::getKeepaliveIntervalTime)
.set(switchPrimarySubStream).equalTo(row::getSwitchPrimarySubStream)
.set(broadcastPushAfterAck).equalTo(row::getBroadcastPushAfterAck);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
static UpdateDSL<UpdateModel> updateSelectiveColumns(DockingDevice row, UpdateDSL<UpdateModel> dsl) {
return dsl.set(id).equalToWhenPresent(row::getId)
.set(deviceId).equalToWhenPresent(row::getDeviceId)
.set(name).equalToWhenPresent(row::getName)
.set(manufacturer).equalToWhenPresent(row::getManufacturer)
.set(model).equalToWhenPresent(row::getModel)
.set(firmware).equalToWhenPresent(row::getFirmware)
.set(transport).equalToWhenPresent(row::getTransport)
.set(streamMode).equalToWhenPresent(row::getStreamMode)
.set(onLine).equalToWhenPresent(row::getOnLine)
.set(registerTime).equalToWhenPresent(row::getRegisterTime)
.set(keepaliveTime).equalToWhenPresent(row::getKeepaliveTime)
.set(ip).equalToWhenPresent(row::getIp)
.set(createTime).equalToWhenPresent(row::getCreateTime)
.set(updateTime).equalToWhenPresent(row::getUpdateTime)
.set(port).equalToWhenPresent(row::getPort)
.set(expires).equalToWhenPresent(row::getExpires)
.set(subscribeCycleForCatalog).equalToWhenPresent(row::getSubscribeCycleForCatalog)
.set(subscribeCycleForMobilePosition).equalToWhenPresent(row::getSubscribeCycleForMobilePosition)
.set(mobilePositionSubmissionInterval).equalToWhenPresent(row::getMobilePositionSubmissionInterval)
.set(subscribeCycleForAlarm).equalToWhenPresent(row::getSubscribeCycleForAlarm)
.set(hostAddress).equalToWhenPresent(row::getHostAddress)
.set(charset).equalToWhenPresent(row::getCharset)
.set(ssrcCheck).equalToWhenPresent(row::getSsrcCheck)
.set(geoCoordSys).equalToWhenPresent(row::getGeoCoordSys)
.set(mediaServerId).equalToWhenPresent(row::getMediaServerId)
.set(customName).equalToWhenPresent(row::getCustomName)
.set(sdpIp).equalToWhenPresent(row::getSdpIp)
.set(localIp).equalToWhenPresent(row::getLocalIp)
.set(password).equalToWhenPresent(row::getPassword)
.set(asMessageChannel).equalToWhenPresent(row::getAsMessageChannel)
.set(keepaliveIntervalTime).equalToWhenPresent(row::getKeepaliveIntervalTime)
.set(switchPrimarySubStream).equalToWhenPresent(row::getSwitchPrimarySubStream)
.set(broadcastPushAfterAck).equalToWhenPresent(row::getBroadcastPushAfterAck);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int updateByPrimaryKey(DockingDevice row) {
return update(c ->
c.set(deviceId).equalTo(row::getDeviceId)
.set(name).equalTo(row::getName)
.set(manufacturer).equalTo(row::getManufacturer)
.set(model).equalTo(row::getModel)
.set(firmware).equalTo(row::getFirmware)
.set(transport).equalTo(row::getTransport)
.set(streamMode).equalTo(row::getStreamMode)
.set(onLine).equalTo(row::getOnLine)
.set(registerTime).equalTo(row::getRegisterTime)
.set(keepaliveTime).equalTo(row::getKeepaliveTime)
.set(ip).equalTo(row::getIp)
.set(createTime).equalTo(row::getCreateTime)
.set(updateTime).equalTo(row::getUpdateTime)
.set(port).equalTo(row::getPort)
.set(expires).equalTo(row::getExpires)
.set(subscribeCycleForCatalog).equalTo(row::getSubscribeCycleForCatalog)
.set(subscribeCycleForMobilePosition).equalTo(row::getSubscribeCycleForMobilePosition)
.set(mobilePositionSubmissionInterval).equalTo(row::getMobilePositionSubmissionInterval)
.set(subscribeCycleForAlarm).equalTo(row::getSubscribeCycleForAlarm)
.set(hostAddress).equalTo(row::getHostAddress)
.set(charset).equalTo(row::getCharset)
.set(ssrcCheck).equalTo(row::getSsrcCheck)
.set(geoCoordSys).equalTo(row::getGeoCoordSys)
.set(mediaServerId).equalTo(row::getMediaServerId)
.set(customName).equalTo(row::getCustomName)
.set(sdpIp).equalTo(row::getSdpIp)
.set(localIp).equalTo(row::getLocalIp)
.set(password).equalTo(row::getPassword)
.set(asMessageChannel).equalTo(row::getAsMessageChannel)
.set(keepaliveIntervalTime).equalTo(row::getKeepaliveIntervalTime)
.set(switchPrimarySubStream).equalTo(row::getSwitchPrimarySubStream)
.set(broadcastPushAfterAck).equalTo(row::getBroadcastPushAfterAck)
.where(id, isEqualTo(row::getId))
);
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source Table: docking_device")
default int updateByPrimaryKeySelective(DockingDevice row) {
return update(c ->
c.set(deviceId).equalToWhenPresent(row::getDeviceId)
.set(name).equalToWhenPresent(row::getName)
.set(manufacturer).equalToWhenPresent(row::getManufacturer)
.set(model).equalToWhenPresent(row::getModel)
.set(firmware).equalToWhenPresent(row::getFirmware)
.set(transport).equalToWhenPresent(row::getTransport)
.set(streamMode).equalToWhenPresent(row::getStreamMode)
.set(onLine).equalToWhenPresent(row::getOnLine)
.set(registerTime).equalToWhenPresent(row::getRegisterTime)
.set(keepaliveTime).equalToWhenPresent(row::getKeepaliveTime)
.set(ip).equalToWhenPresent(row::getIp)
.set(createTime).equalToWhenPresent(row::getCreateTime)
.set(updateTime).equalToWhenPresent(row::getUpdateTime)
.set(port).equalToWhenPresent(row::getPort)
.set(expires).equalToWhenPresent(row::getExpires)
.set(subscribeCycleForCatalog).equalToWhenPresent(row::getSubscribeCycleForCatalog)
.set(subscribeCycleForMobilePosition).equalToWhenPresent(row::getSubscribeCycleForMobilePosition)
.set(mobilePositionSubmissionInterval).equalToWhenPresent(row::getMobilePositionSubmissionInterval)
.set(subscribeCycleForAlarm).equalToWhenPresent(row::getSubscribeCycleForAlarm)
.set(hostAddress).equalToWhenPresent(row::getHostAddress)
.set(charset).equalToWhenPresent(row::getCharset)
.set(ssrcCheck).equalToWhenPresent(row::getSsrcCheck)
.set(geoCoordSys).equalToWhenPresent(row::getGeoCoordSys)
.set(mediaServerId).equalToWhenPresent(row::getMediaServerId)
.set(customName).equalToWhenPresent(row::getCustomName)
.set(sdpIp).equalToWhenPresent(row::getSdpIp)
.set(localIp).equalToWhenPresent(row::getLocalIp)
.set(password).equalToWhenPresent(row::getPassword)
.set(asMessageChannel).equalToWhenPresent(row::getAsMessageChannel)
.set(keepaliveIntervalTime).equalToWhenPresent(row::getKeepaliveIntervalTime)
.set(switchPrimarySubStream).equalToWhenPresent(row::getSwitchPrimarySubStream)
.set(broadcastPushAfterAck).equalToWhenPresent(row::getBroadcastPushAfterAck)
.where(id, isEqualTo(row::getId))
);
}
}

View File

@ -0,0 +1,439 @@
package cn.skcks.docking.gb28181.orm.mybatis.dynamic.model;
import jakarta.annotation.Generated;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table docking_device
*/
public class DockingDevice {
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.id")
private Long id;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.device_id")
private String deviceId;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.name")
private String name;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.manufacturer")
private String manufacturer;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.model")
private String model;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.firmware")
private String firmware;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.transport")
private String transport;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.stream_mode")
private String streamMode;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.on_line")
private Boolean onLine;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.register_time")
private String registerTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_time")
private String keepaliveTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ip")
private String ip;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.create_time")
private String createTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.update_time")
private String updateTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.port")
private Integer port;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.expires")
private Integer expires;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_catalog")
private Integer subscribeCycleForCatalog;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_mobile_position")
private Integer subscribeCycleForMobilePosition;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.mobile_position_submission_interval")
private Integer mobilePositionSubmissionInterval;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_alarm")
private Integer subscribeCycleForAlarm;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.host_address")
private String hostAddress;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.charset")
private String charset;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ssrc_check")
private Boolean ssrcCheck;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.geo_coord_sys")
private String geoCoordSys;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.media_server_id")
private String mediaServerId;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.custom_name")
private String customName;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.sdp_ip")
private String sdpIp;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.local_ip")
private String localIp;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.password")
private String password;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.as_message_channel")
private Boolean asMessageChannel;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_interval_time")
private Integer keepaliveIntervalTime;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.switch_primary_sub_stream")
private Boolean switchPrimarySubStream;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.broadcast_push_after_ack")
private Boolean broadcastPushAfterAck;
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.id")
public Long getId() {
return id;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.id")
public void setId(Long id) {
this.id = id;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.device_id")
public String getDeviceId() {
return deviceId;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.device_id")
public void setDeviceId(String deviceId) {
this.deviceId = deviceId == null ? null : deviceId.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.name")
public String getName() {
return name;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.name")
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.manufacturer")
public String getManufacturer() {
return manufacturer;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.manufacturer")
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer == null ? null : manufacturer.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.model")
public String getModel() {
return model;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.model")
public void setModel(String model) {
this.model = model == null ? null : model.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.firmware")
public String getFirmware() {
return firmware;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.firmware")
public void setFirmware(String firmware) {
this.firmware = firmware == null ? null : firmware.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.transport")
public String getTransport() {
return transport;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.transport")
public void setTransport(String transport) {
this.transport = transport == null ? null : transport.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.stream_mode")
public String getStreamMode() {
return streamMode;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.stream_mode")
public void setStreamMode(String streamMode) {
this.streamMode = streamMode == null ? null : streamMode.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.on_line")
public Boolean getOnLine() {
return onLine;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.on_line")
public void setOnLine(Boolean onLine) {
this.onLine = onLine;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.register_time")
public String getRegisterTime() {
return registerTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.register_time")
public void setRegisterTime(String registerTime) {
this.registerTime = registerTime == null ? null : registerTime.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_time")
public String getKeepaliveTime() {
return keepaliveTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_time")
public void setKeepaliveTime(String keepaliveTime) {
this.keepaliveTime = keepaliveTime == null ? null : keepaliveTime.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ip")
public String getIp() {
return ip;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ip")
public void setIp(String ip) {
this.ip = ip == null ? null : ip.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.create_time")
public String getCreateTime() {
return createTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.create_time")
public void setCreateTime(String createTime) {
this.createTime = createTime == null ? null : createTime.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.update_time")
public String getUpdateTime() {
return updateTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.update_time")
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime == null ? null : updateTime.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.port")
public Integer getPort() {
return port;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.port")
public void setPort(Integer port) {
this.port = port;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.expires")
public Integer getExpires() {
return expires;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.expires")
public void setExpires(Integer expires) {
this.expires = expires;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_catalog")
public Integer getSubscribeCycleForCatalog() {
return subscribeCycleForCatalog;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_catalog")
public void setSubscribeCycleForCatalog(Integer subscribeCycleForCatalog) {
this.subscribeCycleForCatalog = subscribeCycleForCatalog;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_mobile_position")
public Integer getSubscribeCycleForMobilePosition() {
return subscribeCycleForMobilePosition;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_mobile_position")
public void setSubscribeCycleForMobilePosition(Integer subscribeCycleForMobilePosition) {
this.subscribeCycleForMobilePosition = subscribeCycleForMobilePosition;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.mobile_position_submission_interval")
public Integer getMobilePositionSubmissionInterval() {
return mobilePositionSubmissionInterval;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.mobile_position_submission_interval")
public void setMobilePositionSubmissionInterval(Integer mobilePositionSubmissionInterval) {
this.mobilePositionSubmissionInterval = mobilePositionSubmissionInterval;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_alarm")
public Integer getSubscribeCycleForAlarm() {
return subscribeCycleForAlarm;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.subscribe_cycle_for_alarm")
public void setSubscribeCycleForAlarm(Integer subscribeCycleForAlarm) {
this.subscribeCycleForAlarm = subscribeCycleForAlarm;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.host_address")
public String getHostAddress() {
return hostAddress;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.host_address")
public void setHostAddress(String hostAddress) {
this.hostAddress = hostAddress == null ? null : hostAddress.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.charset")
public String getCharset() {
return charset;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.charset")
public void setCharset(String charset) {
this.charset = charset == null ? null : charset.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ssrc_check")
public Boolean getSsrcCheck() {
return ssrcCheck;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.ssrc_check")
public void setSsrcCheck(Boolean ssrcCheck) {
this.ssrcCheck = ssrcCheck;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.geo_coord_sys")
public String getGeoCoordSys() {
return geoCoordSys;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.geo_coord_sys")
public void setGeoCoordSys(String geoCoordSys) {
this.geoCoordSys = geoCoordSys == null ? null : geoCoordSys.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.media_server_id")
public String getMediaServerId() {
return mediaServerId;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.media_server_id")
public void setMediaServerId(String mediaServerId) {
this.mediaServerId = mediaServerId == null ? null : mediaServerId.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.custom_name")
public String getCustomName() {
return customName;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.custom_name")
public void setCustomName(String customName) {
this.customName = customName == null ? null : customName.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.sdp_ip")
public String getSdpIp() {
return sdpIp;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.sdp_ip")
public void setSdpIp(String sdpIp) {
this.sdpIp = sdpIp == null ? null : sdpIp.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.local_ip")
public String getLocalIp() {
return localIp;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.local_ip")
public void setLocalIp(String localIp) {
this.localIp = localIp == null ? null : localIp.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.password")
public String getPassword() {
return password;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.password")
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.as_message_channel")
public Boolean getAsMessageChannel() {
return asMessageChannel;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.as_message_channel")
public void setAsMessageChannel(Boolean asMessageChannel) {
this.asMessageChannel = asMessageChannel;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_interval_time")
public Integer getKeepaliveIntervalTime() {
return keepaliveIntervalTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.keepalive_interval_time")
public void setKeepaliveIntervalTime(Integer keepaliveIntervalTime) {
this.keepaliveIntervalTime = keepaliveIntervalTime;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.switch_primary_sub_stream")
public Boolean getSwitchPrimarySubStream() {
return switchPrimarySubStream;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.switch_primary_sub_stream")
public void setSwitchPrimarySubStream(Boolean switchPrimarySubStream) {
this.switchPrimarySubStream = switchPrimarySubStream;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.broadcast_push_after_ack")
public Boolean getBroadcastPushAfterAck() {
return broadcastPushAfterAck;
}
@Generated(value="org.mybatis.generator.api.MyBatisGenerator", comments="Source field: docking_device.broadcast_push_after_ack")
public void setBroadcastPushAfterAck(Boolean broadcastPushAfterAck) {
this.broadcastPushAfterAck = broadcastPushAfterAck;
}
}

View File

@ -0,0 +1,9 @@
package cn.skcks.docking.gb28181.orm.mybatis.operation;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OperateTableMapper {
// int createNewTable(@Param("tableName")String tableName);
void createDeviceTable();
}

View File

@ -0,0 +1,46 @@
<?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="cn.skcks.docking.gb28181.orm.mybatis.operation.OperateTableMapper">
<update id="createDeviceTable">
CREATE TABLE IF NOT EXISTS `docking_device` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`device_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`manufacturer` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`model` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`firmware` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`transport` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stream_mode` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`on_line` tinyint(1) DEFAULT '0',
`register_time` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`keepalive_time` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`create_time` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`update_time` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`port` int(11) DEFAULT NULL,
`expires` int(11) DEFAULT NULL,
`subscribe_cycle_for_catalog` int(11) DEFAULT '0',
`subscribe_cycle_for_mobile_position` int(11) DEFAULT '0',
`mobile_position_submission_interval` int(11) DEFAULT '5',
`subscribe_cycle_for_alarm` int(11) DEFAULT '0',
`host_address` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`charset` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ssrc_check` tinyint(1) DEFAULT '0',
`geo_coord_sys` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`media_server_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`custom_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`sdp_ip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`local_ip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`as_message_channel` tinyint(1) DEFAULT '0',
`keepalive_interval_time` int(11) DEFAULT NULL,
`switch_primary_sub_stream` tinyint(1) DEFAULT '0',
`broadcast_push_after_ack` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
UNIQUE KEY `uk_device_device` (`device_id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
</update>
</mapper>

View File

@ -0,0 +1,402 @@
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 配置生成器 -->
<generatorConfiguration>
<!-- 可以用于加载配置项或者配置文件,在整个配置文件中就可以使用${propertyKey}的方式来引用配置项
resource配置资源加载地址使用resourceMBG从classpath开始找比如com/myproject/generatorConfig.properties
url配置资源加载地质使用URL的方式比如file:///C:/myfolder/generatorConfig.properties.
注意,两个属性只能选址一个;
另外如果使用了mybatis-generator-maven-plugin那么在pom.xml中定义的properties都可以直接在generatorConfig.xml中使用
<properties resource="" url="" />
-->
<!-- 在MBG工作的时候需要额外加载的依赖包
location属性指明加载jar/zip包的全路径
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
-->
<!--
context:生成一组对象的环境
id:必选上下文id用于在生成错误时提示
defaultModelType:指定生成对象的样式
1conditional类似hierarchical
2flat所有内容主键blob等全部生成在一个对象中
3hierarchical主键生成一个XXKey对象(key class)Blob等单独生成一个对象其他简单属性在一个对象中(record class)
targetRuntime:
1MyBatis3默认的值生成基于MyBatis3.x以上版本的内容包括XXXBySample
2MyBatis3Simple类似MyBatis3只是不生成XXXBySample
introspectedColumnImpl类全限定名用于扩展MBG
-->
<context id="mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple" >
<!-- 自动识别数据库关键字默认false如果设置为true根据SqlReservedWords中定义的关键字列表
一般保留默认值遇到数据库关键字Java关键字使用columnOverride覆盖
-->
<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"/>
<!--添加数据库中字段/列的注释-->
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!-- 必须要有的,使用这个配置链接数据库
@TODO:是否可以扩展
-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://10.10.10.200:3306/gb28181_docking_platform" userId="root" password="12341234">
<!-- 这里面可以设置property属性每一个property属性都设置到配置的Driver上 -->
<!-- Mysql8 驱动 api会查出其他库同名的表 故需要添加此配置-->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- java类型处理器
用于处理DB中的类型到Java中的类型默认使用JavaTypeResolverDefaultImpl
注意一点默认会先尝试使用IntegerLongShort等来对应DECIMAL和 NUMERIC数据类型
-->
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
<!--
true使用BigDecimal对应DECIMAL和 NUMERIC数据类型
false默认,
scale>0;length>18使用BigDecimal;
scale=0;length[10,18]使用Long
scale=0;length[5,9]使用Integer
scale=0;length<5使Short
-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- java模型创建器是必须要的元素
负责1key类见context的defaultModelType2java类3查询类
targetPackage生成的类要放的包真实的包受enableSubPackages属性控制
targetProject目标项目指定一个存在的目录下生成的内容会放到指定目录中如果目录不存在MBG不会自动建目录
-->
<javaModelGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.basic.model" targetProject="src/main/java">
<!-- for MyBatis3/MyBatis3Simple
自动为每一个生成的类创建一个构造方法构造方法包含了所有的field而不是使用setter
-->
<property name="constructorBased" value="false"/>
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
<!-- for MyBatis3 / MyBatis3Simple
是否创建一个不可变的类如果为true
那么MBG会创建一个没有setter方法的类取而代之的是类似constructorBased的类
-->
<property name="immutable" value="false"/>
<!-- 设置一个根对象,
如果设置了这个根对象那么生成的keyClass或者recordClass会继承这个类在Table的rootClass属性中可以覆盖该选项
注意如果在key class或者record class中有root class相同的属性MBG就不会重新生成这些属性了包括
1属性名相同类型相同有相同的getter/setter方法
-->
<!--<property name="rootClass" value="cn.skcks.docking.gb28181.orm.mybatis.domain.BaseDomain"/>-->
<!-- 设置是否在getter方法中对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成SQL map的XML文件生成器
注意在Mybatis3之后我们可以使用mapper.xml文件+Mapper接口或者不用mapper接口
或者只使用Mapper接口+Annotation所以如果 javaClientGenerator配置中配置了需要生成XML的话这个元素就必须配置
targetPackage/targetProject:同javaModelGenerator
-->
<sqlMapGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.basic.mapper" targetProject="src/main/resources">
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 对于mybatis来说即生成Mapper接口注意如果没有配置该元素那么默认不会生成Mapper接口
targetPackage/targetProject:同javaModelGenerator
type选择怎么生成mapper接口在MyBatis3/MyBatis3Simple下
1ANNOTATEDMAPPER会生成使用Mapper接口+Annotation的方式创建SQL生成在annotation中不会生成对应的XML
2MIXEDMAPPER使用混合配置会生成Mapper接口并适当添加合适的Annotation但是XML会生成在XML中
3XMLMAPPER会生成Mapper接口接口完全依赖XML
注意如果context是MyBatis3Simple只支持ANNOTATEDMAPPER和XMLMAPPER
-->
<javaClientGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.basic.mapper" type="ANNOTATEDMAPPER" targetProject="src/main/java">
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
<!-- 可以为所有生成的接口添加一个父接口但是MBG只负责生成不负责检查
<property name="rootInterface" value=""/>
-->
</javaClientGenerator>
<!-- 选择一个table来生成相关文件可以有一个或多个table必须要有table元素
选择的table会生成一下文件
1SQL map文件
2生成一个主键类
3除了BLOB和主键的其他字段的类
4包含BLOB的类
5一个用户生成动态查询的条件类selectByExample, deleteByExample可选
6Mapper接口可选
tableName必要要生成对象的表名
注意大小写敏感问题。正常情况下MBG会自动的去识别数据库标识符的大小写敏感度在一般情况下MBG会
根据设置的schemacatalog或tablename去查询数据表按照下面的流程
1如果schemacatalog或tablename中有空格那么设置的是什么格式就精确的使用指定的大小写格式去查询
2否则如果数据库的标识符使用大写的那么MBG自动把表名变成大写再查找
3否则如果数据库的标识符使用小写的那么MBG自动把表名变成小写再查找
4否则使用指定的大小写格式查询
另外的,如果在创建表的时候,使用的""把数据库对象规定大小写,就算数据库标识符是使用的大写,在这种情况下也会使用给定的大小写来创建表名;
这个时候请设置delimitIdentifiers="true"即可保留大小写格式;
可选:
1schema数据库的schema
2catalog数据库的catalog
3alias为数据表设置的别名如果设置了alias那么生成的所有的SELECT SQL语句中列名会变成alias_actualColumnName
4domainObjectName生成的domain类的名字如果不设置直接使用表名作为domain类的名字可以设置为somepck.domainName那么会自动把domainName类再放到somepck包里面
5enableInsert默认true指定是否生成insert语句
6enableSelectByPrimaryKey默认true指定是否生成按照主键查询对象的语句就是getById或get
7enableSelectByExample默认trueMyBatis3Simple为false指定是否生成动态查询语句
8enableUpdateByPrimaryKey默认true指定是否生成按照主键修改对象的语句即update)
9enableDeleteByPrimaryKey默认true指定是否生成按照主键删除对象的语句即delete
10enableDeleteByExample默认trueMyBatis3Simple为false指定是否生成动态删除语句
11enableCountByExample默认trueMyBatis3Simple为false指定是否生成动态查询总条数语句用于分页的总条数查询
12enableUpdateByExample默认trueMyBatis3Simple为false指定是否生成动态修改语句只修改对象中不为空的属性
13modelType参考context元素的defaultModelType相当于覆盖
14delimitIdentifiers参考tableName的解释注意默认的delimitIdentifiers是双引号如果类似MYSQL这样的数据库使用的是`反引号那么还需要设置context的beginningDelimiter和endingDelimiter属性
15delimitAllColumns设置是否所有生成的SQL中的列名都使用标识符引起来。默认为falsedelimitIdentifiers参考context的属性
注意table里面很多参数都是对javaModelGeneratorcontext等元素的默认属性的一个复写
-->
<table tableName="%">
<!-- 参考 javaModelGenerator 的 constructorBased属性-->
<property name="constructorBased" value="false"/>
<!-- 默认为false如果设置为true在生成的SQL中table名字不会加上catalog或schema -->
<property name="ignoreQualifiersAtRuntime" value="false"/>
<!-- 参考 javaModelGenerator 的 immutable 属性 -->
<property name="immutable" value="false"/>
<!-- 指定是否只生成domain类如果设置为true只生成domain类如果还配置了sqlMapGenerator那么在mapper XML文件中只生成resultMap元素 -->
<property name="modelOnly" value="false"/>
<!-- 参考 javaModelGenerator 的 rootClass 属性
<property name="rootClass" value=""/>
-->
<!-- 参考javaClientGenerator 的 rootInterface 属性
<property name="rootInterface" value=""/>
-->
<!-- 如果设置了runtimeCatalog那么在生成的SQL中使用该指定的catalog而不是table元素上的catalog
<property name="runtimeCatalog" value=""/>
-->
<!-- 如果设置了runtimeSchema那么在生成的SQL中使用该指定的schema而不是table元素上的schema
<property name="runtimeSchema" value=""/>
-->
<!-- 如果设置了runtimeTableName那么在生成的SQL中使用该指定的tablename而不是table元素上的tablename
<property name="runtimeTableName" value=""/>
-->
<!-- 注意该属性只针对MyBatis3Simple有用
如果选择的runtime是MyBatis3Simple那么会生成一个SelectAll方法如果指定了selectAllOrderByClause那么会在该SQL中添加指定的这个order条件
-->
<!--<property name="selectAllOrderByClause" value="age desc,username asc"/>-->
<!-- 如果设置为true生成的model类会直接使用column本身的名字而不会再使用驼峰命名方法比如BORN_DATE生成的属性名字就是BORN_DATE,而不会是bornDate -->
<property name="useActualColumnNames" value="false"/>
<!-- generatedKey用于生成生成主键的方法
如果设置了该元素MBG会在生成的<insert>元素中生成一条正确的<selectKey>元素,该元素可选
column:主键的列名;
sqlStatement要生成的selectKey语句有以下可选项
Cloudscape:相当于selectKey的SQL为 VALUES IDENTITY_VAL_LOCAL()
DB2 :相当于selectKey的SQL为 VALUES IDENTITY_VAL_LOCAL()
DB2_MF :相当于selectKey的SQL为SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1
Derby :相当于selectKey的SQL为VALUES IDENTITY_VAL_LOCAL()
HSQLDB :相当于selectKey的SQL为CALL IDENTITY()
Informix :相当于selectKey的SQL为select dbinfo('sqlca.sqlerrd1') from systables where tabid=1
MySql :相当于selectKey的SQL为SELECT LAST_INSERT_ID()
SqlServer :相当于selectKey的SQL为SELECT SCOPE_IDENTITY()
SYBASE :相当于selectKey的SQL为SELECT @@IDENTITY
JDBC :相当于在生成的insert元素上添加useGeneratedKeys="true"和keyProperty属性
<generatedKey column="" sqlStatement=""/>
-->
<!--
该元素会在根据表中列名计算对象属性名之前先重命名列名,非常适合用于表中的列都有公用的前缀字符串的时候,
比如列名为CUST_ID,CUST_NAME,CUST_EMAIL,CUST_ADDRESS等
那么就可以设置searchString为"^CUST_"并使用空白替换那么生成的Customer对象中的属性名称就不是
custId,custName等而是先被替换为ID,NAME,EMAIL,然后变成属性idnameemail
注意MBG是使用java.util.regex.Matcher.replaceAll来替换searchString和replaceString的
如果使用了columnOverride元素该属性无效
<columnRenamingRule searchString="" replaceString=""/>
-->
<!-- 用来修改表中某个列的属性MBG会使用修改后的列来生成domain的属性
column:要重新设置的列名;
注意一个table元素中可以有多个columnOverride元素哈~
-->
<!--<columnOverride column="username">-->
<!-- 使用property属性来指定列要生成的属性名称 -->
<!--<property name="property" value="userName"/>-->
<!-- javaType用于指定生成的domain的属性类型使用类型的全限定名
<property name="javaType" value=""/>
-->
<!-- jdbcType用于指定该列的JDBC类型
<property name="jdbcType" value=""/>
-->
<!-- typeHandler 用于指定该列使用到的TypeHandler如果要指定配置类型处理器的全限定名
注意mybatis中不会生成到mybatis-config.xml中的typeHandler
只会生成类似where id = #{id,jdbcType=BIGINT,typeHandler=cn.skcks.docking.gb28181.orm.mybatis.MyTypeHandler}的参数描述
<property name="jdbcType" value=""/>
-->
<!-- 参考table元素的delimitAllColumns配置默认为false
<property name="delimitedColumnName" value=""/>
-->
<!--</columnOverride>-->
<!-- ignoreColumn设置一个MGB忽略的列如果设置了改列那么在生成的domain中生成的SQL中都不会有该列出现
column:指定要忽略的列的名字;
delimitedColumnName参考table元素的delimitAllColumns配置默认为false
注意一个table元素中可以有多个ignoreColumn元素
<ignoreColumn column="deptId" delimitedColumnName=""/>
-->
</table>
<!-- <table tableName="weather" domainObjectName="weather.">-->
<!-- &lt;!&ndash; 参考 javaModelGenerator 的 constructorBased属性&ndash;&gt;-->
<!-- <property name="constructorBased" value="false"/>-->
<!-- &lt;!&ndash; 默认为false如果设置为true在生成的SQL中table名字不会加上catalog或schema &ndash;&gt;-->
<!-- <property name="ignoreQualifiersAtRuntime" value="false"/>-->
<!-- &lt;!&ndash; 参考 javaModelGenerator 的 immutable 属性 &ndash;&gt;-->
<!-- <property name="immutable" value="false"/>-->
<!-- &lt;!&ndash; 指定是否只生成domain类如果设置为true只生成domain类如果还配置了sqlMapGenerator那么在mapper XML文件中只生成resultMap元素 &ndash;&gt;-->
<!-- <property name="modelOnly" value="false"/>-->
<!-- <property name="useActualColumnNames" value="false"/>-->
<!-- </table>-->
</context>
<context id="dynamic-mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3DynamicSql" >
<!-- 自动识别数据库关键字默认false如果设置为true根据SqlReservedWords中定义的关键字列表
一般保留默认值遇到数据库关键字Java关键字使用columnOverride覆盖
-->
<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"/>
<!--添加数据库中字段/列的注释-->
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!-- 必须要有的,使用这个配置链接数据库
@TODO:是否可以扩展
-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://10.10.10.200:3306/gb28181_docking_platform" userId="root" password="12341234">
<!-- 这里面可以设置property属性每一个property属性都设置到配置的Driver上 -->
<!-- Mysql8 驱动 api会查出其他库同名的表 故需要添加此配置-->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- java类型处理器
用于处理DB中的类型到Java中的类型默认使用JavaTypeResolverDefaultImpl
注意一点默认会先尝试使用IntegerLongShort等来对应DECIMAL和 NUMERIC数据类型
-->
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
<!--
true使用BigDecimal对应DECIMAL和 NUMERIC数据类型
false默认,
scale>0;length>18使用BigDecimal;
scale=0;length[10,18]使用Long
scale=0;length[5,9]使用Integer
scale=0;length<5使Short
-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- java模型创建器是必须要的元素
负责1key类见context的defaultModelType2java类3查询类
targetPackage生成的类要放的包真实的包受enableSubPackages属性控制
targetProject目标项目指定一个存在的目录下生成的内容会放到指定目录中如果目录不存在MBG不会自动建目录
-->
<javaModelGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.dynamic.model" targetProject="src/main/java">
<property name="constructorBased" value="false"/>
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
<property name="immutable" value="false"/>
<!-- 设置一个根对象,
如果设置了这个根对象那么生成的keyClass或者recordClass会继承这个类在Table的rootClass属性中可以覆盖该选项
注意如果在key class或者record class中有root class相同的属性MBG就不会重新生成这些属性了包括
1属性名相同类型相同有相同的getter/setter方法
-->
<!--<property name="rootClass" value="cn.skcks.docking.gb28181.orm.mybatis.domain.BaseDomain"/>-->
<!-- 设置是否在getter方法中对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.dynamic.mapper" targetProject="src/main/resources">
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="cn.skcks.docking.gb28181.orm.mybatis.dynamic.mapper" type="ANNOTATEDMAPPER" targetProject="src/main/java">
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="docking_%">
<!-- 参考 javaModelGenerator 的 constructorBased属性-->
<property name="constructorBased" value="false"/>
<!-- 默认为false如果设置为true在生成的SQL中table名字不会加上catalog或schema -->
<property name="ignoreQualifiersAtRuntime" value="false"/>
<!-- 参考 javaModelGenerator 的 immutable 属性 -->
<property name="immutable" value="false"/>
<!-- 指定是否只生成domain类如果设置为true只生成domain类如果还配置了sqlMapGenerator那么在mapper XML文件中只生成resultMap元素 -->
<property name="modelOnly" value="false"/>
<property name="useActualColumnNames" value="false"/>
</table>
<!-- <table tableName="weather" domainObjectName="weather.DynamicWeather">-->
<!-- &lt;!&ndash; 参考 javaModelGenerator 的 constructorBased属性&ndash;&gt;-->
<!-- <property name="constructorBased" value="false"/>-->
<!-- &lt;!&ndash; 默认为false如果设置为true在生成的SQL中table名字不会加上catalog或schema &ndash;&gt;-->
<!-- <property name="ignoreQualifiersAtRuntime" value="false"/>-->
<!-- &lt;!&ndash; 参考 javaModelGenerator 的 immutable 属性 &ndash;&gt;-->
<!-- <property name="immutable" value="false"/>-->
<!-- &lt;!&ndash; 指定是否只生成domain类如果设置为true只生成domain类如果还配置了sqlMapGenerator那么在mapper XML文件中只生成resultMap元素 &ndash;&gt;-->
<!-- <property name="modelOnly" value="false"/>-->
<!-- <property name="useActualColumnNames" value="false"/>-->
<!-- </table>-->
</context>
</generatorConfiguration>

View File

@ -0,0 +1,25 @@
package cn.skcks.docking.gb28181.orm.mybatis;
import cn.skcks.docking.gb28181.orm.mybatis.operation.OperateTableMapper;
import org.junit.jupiter.api.Test;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
// 生成 schema 元数据
@ActiveProfiles("pre-dev")
@SpringBootTest(classes = {GenerateSchemaTest.class})
@MapperScans(@MapperScan("cn.skcks.docking.gb28181.orm.mybatis"))
@SpringBootApplication
public class GenerateSchemaTest {
@Autowired
private OperateTableMapper operateTableMapper;
@Test
void contextLoads(){
operateTableMapper.createDeviceTable();
}
}

View File

@ -0,0 +1,23 @@
spring:
profiles:
active: pre-dev
---
spring:
config:
activate:
on-profile: pre-dev
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 12341234
url: jdbc:mysql://10.10.10.200:3306/gb28181_docking_platform?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# sql:
# init:
# mode: ALWAYS
# schema-locations:
# - classpath:schema/*.sql
# username: root
# password: 12341234

22
pom.xml
View File

@ -37,10 +37,10 @@
<!--数据库-->
<mysql.version>8.0.31</mysql.version>
<mybatis.version>3.0.1</mybatis.version>
<mybatis-dynamic.version>1.4.1</mybatis-dynamic.version>
<mybatis-generator-maven-plugin.version>1.4.1</mybatis-generator-maven-plugin.version>
<pagehelper.version>1.4.6</pagehelper.version>
<mybatis.version>3.0.2</mybatis.version>
<mybatis-dynamic.version>1.5.0</mybatis-dynamic.version>
<mybatis-generator-maven-plugin.version>1.4.2</mybatis-generator-maven-plugin.version>
<pagehelper.version>1.4.7</pagehelper.version>
<!--工具-->
<hutool.version>5.8.11</hutool.version>
@ -73,6 +73,20 @@
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!--Mybatis-DynamicSQL-->
<dependency>
<groupId>org.mybatis.dynamic-sql</groupId>
<artifactId>mybatis-dynamic-sql</artifactId>
<version>${mybatis-dynamic.version}</version>
</dependency>
<!--mybatis 分页器插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>

View File

@ -75,6 +75,12 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@ -2,9 +2,8 @@ package cn.skcks.docking.gb28181;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@SpringBootApplication
public class Gb28181DockingPlatformApplication {
public static void main(String[] args) {

View File

@ -4,7 +4,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@SpringBootApplication
public class Gb28181DockingPlatformApplicationTest {
public static void main(String[] args) {
SpringApplication.run(Gb28181DockingPlatformApplication.class, args);

View File

@ -4,6 +4,14 @@ server:
project:
version: @project.version@
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 12341234
url: jdbc:mysql://10.10.10.200:3306/gb28181_docking_platform?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
gb28181:
# 作为28181服务器的配置
sip: