适配Oracle数据库

pull/42/head
fyw_wu 3 years ago
parent 76ab3f2cad
commit 7eebf5520f

@ -0,0 +1,196 @@
-- oracle 11g 测试通过
/*
-- 清理脚本
drop table xxl_job_info;
drop table xxl_job_log;
drop table xxl_job_log_report;
drop table xxl_job_logglue;
drop table xxl_job_registry;
drop table xxl_job_group;
drop table xxl_job_user;
drop table xxl_job_lock;
drop sequence SEQ_XXL_JOB_COMMON_ID;
drop sequence SEQ_XXL_JOB_LOG_ID;
*/
create sequence SEQ_XXL_JOB_COMMON_ID
minvalue 10000001
maxvalue 2147483647
increment by 1
cache 20
cycle;
create sequence SEQ_XXL_JOB_LOG_ID
minvalue 10000001
maxvalue 99999999999999
increment by 1
cache 20
cycle;
create table xxl_job_info (
id number(11) not null, -- AUTO_INCREMENT
job_group number(11) not null,
job_desc varchar2(255) not null,
add_time date default null,
update_time date default null,
author varchar2(64) default null,
alarm_email varchar2(255) default null,
schedule_type varchar2(50) default 'NONE' not null,
schedule_conf varchar2(128) default null,
misfire_strategy varchar2(50) default 'DO_NOTHING' not null,
executor_route_strategy varchar2(50) default null,
executor_handler varchar2(255) default null,
executor_param varchar2(512) default null,
executor_block_strategy varchar2(50) default null,
executor_timeout number(11) default '0' not null,
executor_fail_retry_count number(11) default '0' not null,
glue_type varchar2(50) not null,
glue_source clob,
glue_remark varchar2(128) default null,
glue_updatetime date default null,
child_jobid varchar2(255) default null,
trigger_status number(4) default '0' not null,
trigger_last_time number(13) default '0' not null,
trigger_next_time number(13) default '0' not null,
primary key (id)
);
comment on column xxl_job_info.job_group is '执行器主键ID';
comment on column xxl_job_info.author is '作者';
comment on column xxl_job_info.alarm_email is '报警邮件';
comment on column xxl_job_info.schedule_type is '调度类型';
comment on column xxl_job_info.schedule_conf is '调度配置,值含义取决于调度类型';
comment on column xxl_job_info.misfire_strategy is '调度过期策略';
comment on column xxl_job_info.executor_route_strategy is '执行器路由策略';
comment on column xxl_job_info.executor_handler is '执行器任务handler';
comment on column xxl_job_info.executor_param is '执行器任务参数';
comment on column xxl_job_info.executor_block_strategy is '阻塞处理策略';
comment on column xxl_job_info.executor_timeout is '任务执行超时时间,单位秒';
comment on column xxl_job_info.executor_fail_retry_count is '失败重试次数';
comment on column xxl_job_info.glue_type is 'GLUE类型';
comment on column xxl_job_info.glue_source is 'GLUE源代码';
comment on column xxl_job_info.glue_remark is 'GLUE备注';
comment on column xxl_job_info.glue_updatetime is 'GLUE更新时间';
comment on column xxl_job_info.child_jobid is '子任务ID多个逗号分隔';
comment on column xxl_job_info.trigger_status is '调度状态0-停止1-运行';
comment on column xxl_job_info.trigger_last_time is '上次调度时间';
comment on column xxl_job_info.trigger_next_time is '下次调度时间';
create table xxl_job_log (
id number(20) not null, -- AUTO_INCREMENT
job_group number(11) not null ,
job_id number(11) not null ,
executor_address varchar2(255) default null ,
executor_handler varchar2(255) default null ,
executor_param varchar2(512) default null ,
executor_sharding_param varchar2(20) default null ,
executor_fail_retry_count number(11) default '0' not null,
trigger_time date default null ,
trigger_code number(11) not null,
trigger_msg clob ,
handle_time date default null ,
handle_code number(11) not null,
handle_msg clob ,
alarm_status number(4) default '0' not null,
primary key (id)
);
create index i_trigger_time on xxl_job_log (trigger_time);
create index i_handle_code on xxl_job_log (handle_code);
comment on column xxl_job_log.job_group is '执行器主键ID';
comment on column xxl_job_log.job_id is '任务主键ID';
comment on column xxl_job_log.executor_address is '执行器地址,本次执行的地址';
comment on column xxl_job_log.executor_handler is '执行器任务handler';
comment on column xxl_job_log.executor_param is '执行器任务参数';
comment on column xxl_job_log.executor_sharding_param is '执行器任务分片参数,格式如 1/2';
comment on column xxl_job_log.executor_fail_retry_count is '失败重试次数';
comment on column xxl_job_log.trigger_time is '调度-时间';
comment on column xxl_job_log.trigger_code is '调度-结果';
comment on column xxl_job_log.trigger_msg is '调度-日志';
comment on column xxl_job_log.handle_time is '执行-时间';
comment on column xxl_job_log.handle_code is '执行-状态';
comment on column xxl_job_log.handle_msg is '执行-日志';
comment on column xxl_job_log.alarm_status is '告警状态0-默认、1-无需告警、2-告警成功、3-告警失败';
create table xxl_job_log_report (
id number(11) not null, -- AUTO_INCREMENT
trigger_day date default null,
running_count number(11) default '0' not null,
suc_count number(11) default '0' not null,
fail_count number(11) default '0' not null,
update_time date default null,
primary key (id)
);
create unique index i_trigger_day on xxl_job_log_report (trigger_day);
comment on column xxl_job_log_report.trigger_day is '调度-时间' ;
comment on column xxl_job_log_report.running_count is '运行中-日志数量' ;
comment on column xxl_job_log_report.suc_count is '执行成功-日志数量' ;
comment on column xxl_job_log_report.fail_count is '执行失败-日志数量' ;
create table xxl_job_logglue (
id number(11) not null, -- AUTO_INCREMENT
job_id number(11) not null,
glue_type varchar2(50) default null,
glue_source clob,
glue_remark varchar2(128) not null,
add_time date default null,
update_time date default null,
primary key (id)
);
comment on column xxl_job_logglue.job_id is '任务主键ID';
comment on column xxl_job_logglue.glue_type is 'GLUE类型';
comment on column xxl_job_logglue.glue_source is 'GLUE源代码';
comment on column xxl_job_logglue.glue_remark is 'GLUE备注';
create table xxl_job_registry (
id number(11) not null, -- AUTO_INCREMENT
registry_group varchar2(50) not null,
registry_key varchar2(255) not null,
registry_value varchar2(255) not null,
update_time date default null,
primary key (id)
);
create index i_g_k_v on xxl_job_registry(registry_group, registry_key, registry_value);
create table xxl_job_group (
id number(11) not null, -- AUTO_INCREMENT
app_name varchar2(64) not null,
title varchar2(12) not null,
address_type number(4) default '0' not null,
address_list clob,
update_time date default null,
primary key (id)
);
comment on column xxl_job_group.app_name is '执行器AppName';
comment on column xxl_job_group.title is '执行器名称';
comment on column xxl_job_group.address_type is '执行器地址类型0=自动注册、1=手动录入';
comment on column xxl_job_group.address_list is '执行器地址列表,多地址逗号分隔';
create table xxl_job_user (
id number(11) not null, -- AUTO_INCREMENT
username varchar2(50) not null,
password varchar2(50) not null,
role number(4) not null,
permission varchar2(255) default null,
primary key (id)
);
create unique index i_username on xxl_job_user(username);
comment on column xxl_job_user.username is '账号';
comment on column xxl_job_user.password is '密码';
comment on column xxl_job_user.role is '角色0-普通用户、1-管理员';
comment on column xxl_job_user.permission is '权限执行器ID列表多个逗号分割';
create table xxl_job_lock (
lock_name varchar2(50) not null,
primary key (lock_name)
);
comment on column xxl_job_lock.lock_name is '锁名称';
-- 初始化数据
insert into xxl_job_group(id, app_name, title, address_type, address_list, update_time) values (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, to_date('2018-11-03 22:21:31', 'yyyy-mm-dd hh24:mi:ss') );
insert into xxl_job_info(id, job_group, job_desc, add_time, update_time, author, alarm_email, schedule_type, schedule_conf, misfire_strategy, executor_route_strategy, executor_handler, executor_param, executor_block_strategy, executor_timeout, executor_fail_retry_count, glue_type, glue_source, glue_remark, glue_updatetime, child_jobid) values (1, 1, '测试任务1', to_date('2018-11-03 22:21:31', 'yyyy-mm-dd hh24:mi:ss'), to_date('2018-11-03 22:21:31', 'yyyy-mm-dd hh24:mi:ss'), 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', to_date('2018-11-03 22:21:31', 'yyyy-mm-dd hh24:mi:ss'), '');
insert into xxl_job_user(id, username, password, role, permission) values (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
insert into xxl_job_lock ( lock_name) values ( 'schedule_lock');
commit;

@ -42,6 +42,8 @@
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.4.0</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
<jdbc.oracle.version>19.3.0.0</jdbc.oracle.version>
</properties>
<build>
@ -128,17 +130,6 @@
</plugin>
</plugins>
</build>
<distributionManagement>
<snapshotRepository>
<id>oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>oss</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</profile>
</profiles>
</project>

@ -1,113 +1,126 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId>
<version>2.3.1</version>
</parent>
<artifactId>xxl-job-admin</artifactId>
<packaging>jar</packaging>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId>
<version>2.3.1</version>
</parent>
<artifactId>xxl-job-admin</artifactId>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependencies>
<!-- starter-webspring-webmvc + autoconfigure + logback + yaml + tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- starter-testjunit + spring-test + mockito -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- starter-webspring-webmvc + autoconfigure + logback + yaml + tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- starter-testjunit + spring-test + mockito -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- freemarker-starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- freemarker-starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- mail-starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- mail-starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- starter-actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- starter-actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- mybatis-startermybatis + mybatis-spring + hikaridefault -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
<!-- mybatis-startermybatis + mybatis-spring + hikaridefault -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<!-- mysql -->
<!--
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
-->
<!-- oracle -->
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>${jdbc.oracle.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>orai18n</artifactId>
<version>${jdbc.oracle.version}</version>
</dependency>
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- docker -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- made of '[a-z0-9-_.]' -->
<imageName>${project.artifactId}:${project.version}</imageName>
<dockerDirectory>${project.basedir}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- docker -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- made of '[a-z0-9-_.]' -->
<imageName>${project.artifactId}:${project.version}</imageName>
<dockerDirectory>${project.basedir}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>

@ -18,15 +18,22 @@ spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########
### mybatis
### mybatis oracle
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
#mybatis.type-aliases-package=com.xxl.job.admin.core.model
mybatis.configuration.jdbc-type-for-null=null
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
### xxl-job, datasource mysql
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.username=dms2
#spring.datasource.password=qw1112
### xxl-job, datasource oracle
spring.datasource.url=jdbc:oracle:thin:@//192.168.11.40:1521/crms
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.password=123456
### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
@ -37,7 +44,10 @@ spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=HikariCP
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.connection-test-query=SELECT 1
# MYSQL
#spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL
# ORACLE
spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL
spring.datasource.hikari.validation-timeout=1000
### xxl-job, email

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxl.job.admin.dao.XxlJobGroupDao">
<resultMap id="XxlJobGroup" type="com.xxl.job.admin.core.model.XxlJobGroup" >
<result column="id" property="id" />
<result column="app_name" property="appname" />
<result column="title" property="title" />
<result column="address_type" property="addressType" />
<result column="address_list" property="addressList" />
<result column="address_list" property="addressList" jdbcType="CLOB" javaType="java.lang.String" />
<result column="update_time" property="updateTime" />
</resultMap>
@ -23,29 +23,32 @@
<select id="findAll" resultMap="XxlJobGroup">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
FROM xxl_job_group t
ORDER BY t.app_name, t.title, t.id ASC
</select>
<select id="findByAddressType" parameterType="java.lang.Integer" resultMap="XxlJobGroup">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
FROM xxl_job_group t
WHERE t.address_type = #{addressType}
ORDER BY t.app_name, t.title, t.id ASC
</select>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
INSERT INTO xxl_job_group ( `app_name`, `title`, `address_type`, `address_list`, `update_time`)
values ( #{appname}, #{title}, #{addressType}, #{addressList}, #{updateTime} );
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_group (id, app_name, title, address_type, address_list, update_time)
values (#{id}, #{appname}, #{title}, #{addressType}, #{addressList, jdbcType=CLOB, javaType=java.lang.String}, #{updateTime} )
</insert>
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" >
UPDATE xxl_job_group
SET `app_name` = #{appname},
`title` = #{title},
`address_type` = #{addressType},
`address_list` = #{addressList},
`update_time` = #{updateTime}
SET app_name = #{appname},
title = #{title},
address_type = #{addressType},
address_list = #{addressList, jdbcType=CLOB, javaType=java.lang.String},
update_time = #{updateTime}
WHERE id = #{id}
</update>
@ -56,13 +59,17 @@
<select id="load" parameterType="java.lang.Integer" resultMap="XxlJobGroup">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
FROM xxl_job_group t
WHERE t.id = #{id}
</select>
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobGroup">
select * from (
select * from (
select A.*, rownum rn from (
SELECT <include refid="Base_Column_List" />
FROM xxl_job_group AS t
FROM xxl_job_group t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="appname != null and appname != ''">
AND t.app_name like CONCAT(CONCAT('%', #{appname}), '%')
@ -72,12 +79,15 @@
</if>
</trim>
ORDER BY t.app_name, t.title, t.id ASC
LIMIT #{offset}, #{pagesize}
) A
) where rn <![CDATA[ > ]]> #{offset}
) where rn <![CDATA[ <= ]]> #{offset} + #{pagesize}
</select>
<select id="pageListCount" parameterType="java.util.HashMap" resultType="int">
SELECT count(1)
FROM xxl_job_group AS t
FROM xxl_job_group t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="appname != null and appname != ''">
AND t.app_name like CONCAT(CONCAT('%', #{appname}), '%')

@ -27,7 +27,7 @@
<result column="executor_fail_retry_count" property="executorFailRetryCount" />
<result column="glue_type" property="glueType" />
<result column="glue_source" property="glueSource" />
<result column="glue_source" property="glueSource" jdbcType="CLOB" javaType="java.lang.String" />
<result column="glue_remark" property="glueRemark" />
<result column="glue_updatetime" property="glueUpdatetime" />
@ -66,8 +66,12 @@
</sql>
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
select * from (
select * from (
select A.*, rownum rn from (
SELECT <include refid="Base_Column_List" />
FROM xxl_job_info AS t
FROM xxl_job_info t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobGroup gt 0">
AND t.job_group = #{jobGroup}
@ -86,12 +90,15 @@
</if>
</trim>
ORDER BY id DESC
LIMIT #{offset}, #{pagesize}
) A
) where rn <![CDATA[ > ]]> #{offset}
) where rn <![CDATA[ <= ]]> #{offset} + #{pagesize}
</select>
<select id="pageListCount" parameterType="java.util.HashMap" resultType="int">
SELECT count(1)
FROM xxl_job_info AS t
FROM xxl_job_info t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobGroup gt 0">
AND t.job_group = #{jobGroup}
@ -111,8 +118,12 @@
</trim>
</select>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobInfo" useGeneratedKeys="true" keyProperty="id" >
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobInfo">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_COMMON_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_info (
id,
job_group,
job_desc,
add_time,
@ -137,7 +148,8 @@
trigger_last_time,
trigger_next_time
) VALUES (
#{jobGroup},
#{id},
#{jobGroup},
#{jobDesc},
#{addTime},
#{updateTime},
@ -153,23 +165,23 @@
#{executorTimeout},
#{executorFailRetryCount},
#{glueType},
#{glueSource},
#{glueSource, jdbcType=CLOB, javaType=java.lang.String},
#{glueRemark},
#{glueUpdatetime},
#{childJobId},
#{triggerStatus},
#{triggerLastTime},
#{triggerNextTime}
);
)
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
/*SELECT @@IDENTITY AS id*/
/*SELECT @@IDENTITY id*/
</selectKey>-->
</insert>
<select id="loadById" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_info AS t
FROM xxl_job_info t
WHERE t.id = #{id}
</select>
@ -191,7 +203,7 @@
executor_timeout = ${executorTimeout},
executor_fail_retry_count = ${executorFailRetryCount},
glue_type = #{glueType},
glue_source = #{glueSource},
glue_source = #{glueSource, jdbcType=CLOB, javaType=java.lang.String},
glue_remark = #{glueRemark},
glue_updatetime = #{glueUpdatetime},
child_jobid = #{childJobId},
@ -209,7 +221,7 @@
<select id="getJobsByGroup" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_info AS t
FROM xxl_job_info t
WHERE t.job_group = #{jobGroup}
</select>
@ -220,12 +232,17 @@
<select id="scheduleJobQuery" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
select * from (
select A.*, rownum rn from (
SELECT <include refid="Base_Column_List" />
FROM xxl_job_info AS t
FROM xxl_job_info t
WHERE t.trigger_status = 1
and t.trigger_next_time <![CDATA[ <= ]]> #{maxNextTime}
ORDER BY id ASC
LIMIT #{pagesize}
) A
) where rn <![CDATA[ <= ]]> #{pagesize}
</select>
<update id="scheduleUpdate" parameterType="com.xxl.job.admin.core.model.XxlJobInfo" >

@ -7,7 +7,7 @@
<result column="id" property="id" />
<result column="job_id" property="jobId" />
<result column="glue_type" property="glueType" />
<result column="glue_source" property="glueSource" />
<result column="glue_source" property="glueSource" jdbcType="CLOB" javaType="java.lang.String" />
<result column="glue_remark" property="glueRemark" />
<result column="add_time" property="addTime" />
<result column="update_time" property="updateTime" />
@ -23,22 +23,27 @@
t.update_time
</sql>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogGlue" useGeneratedKeys="true" keyProperty="id" >
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogGlue">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_logglue (
`job_id`,
`glue_type`,
`glue_source`,
`glue_remark`,
`add_time`,
`update_time`
id,
job_id,
glue_type,
glue_source,
glue_remark,
add_time,
update_time
) VALUES (
#{id},
#{jobId},
#{glueType},
#{glueSource},
#{glueSource, jdbcType=CLOB, javaType=java.lang.String},
#{glueRemark},
#{addTime},
#{updateTime}
);
)
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>-->
@ -46,7 +51,7 @@
<select id="findByJobId" parameterType="java.lang.Integer" resultMap="XxlJobLogGlue">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_logglue AS t
FROM xxl_job_logglue t
WHERE t.job_id = #{jobId}
ORDER BY id DESC
</select>
@ -56,16 +61,16 @@
WHERE id NOT in(
SELECT id FROM(
SELECT id FROM xxl_job_logglue
WHERE `job_id` = #{jobId}
WHERE job_id = #{jobId}
ORDER BY update_time desc
LIMIT 0, #{limit}
) t1
) AND `job_id` = #{jobId}
) AND job_id = #{jobId}
</delete>
<delete id="deleteByJobId" parameterType="java.lang.Integer" >
DELETE FROM xxl_job_logglue
WHERE `job_id` = #{jobId}
WHERE job_id = #{jobId}
</delete>
</mapper>

@ -17,11 +17,11 @@
<result column="trigger_time" property="triggerTime" />
<result column="trigger_code" property="triggerCode" />
<result column="trigger_msg" property="triggerMsg" />
<result column="trigger_msg" property="triggerMsg" jdbcType="CLOB" javaType="java.lang.String" />
<result column="handle_time" property="handleTime" />
<result column="handle_code" property="handleCode" />
<result column="handle_msg" property="handleMsg" />
<result column="handle_msg" property="handleMsg" jdbcType="CLOB" javaType="java.lang.String" />
<result column="alarm_status" property="alarmStatus" />
</resultMap>
@ -45,8 +45,12 @@
</sql>
<select id="pageList" resultMap="XxlJobLog">
select * from (
select * from (
select A.*, rownum rn from (
SELECT <include refid="Base_Column_List" />
FROM xxl_job_log AS t
FROM xxl_job_log t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobId==0 and jobGroup gt 0">
AND t.job_group = #{jobGroup}
@ -75,12 +79,15 @@
</if>
</trim>
ORDER BY t.trigger_time DESC
LIMIT #{offset}, #{pagesize}
) A
) where rn <![CDATA[ > ]]> #{offset}
) where rn <![CDATA[ <= ]]> #{offset} + #{pagesize}
</select>
<select id="pageListCount" resultType="int">
SELECT count(1)
FROM xxl_job_log AS t
FROM xxl_job_log t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobId==0 and jobGroup gt 0">
AND t.job_group = #{jobGroup}
@ -112,25 +119,30 @@
<select id="load" parameterType="java.lang.Long" resultMap="XxlJobLog">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_log AS t
FROM xxl_job_log t
WHERE t.id = #{id}
</select>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_log (
`job_group`,
`job_id`,
`trigger_time`,
`trigger_code`,
`handle_code`
id,
job_group,
job_id,
trigger_time,
trigger_code,
handle_code
) VALUES (
#{id},
#{jobGroup},
#{jobId},
#{triggerTime},
#{triggerCode},
#{handleCode}
);
)
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>-->
@ -139,24 +151,24 @@
<update id="updateTriggerInfo" >
UPDATE xxl_job_log
SET
`trigger_time`= #{triggerTime},
`trigger_code`= #{triggerCode},
`trigger_msg`= #{triggerMsg},
`executor_address`= #{executorAddress},
`executor_handler`=#{executorHandler},
`executor_param`= #{executorParam},
`executor_sharding_param`= #{executorShardingParam},
`executor_fail_retry_count`= #{executorFailRetryCount}
WHERE `id`= #{id}
trigger_time= #{triggerTime},
trigger_code= #{triggerCode},
trigger_msg= #{triggerMsg, jdbcType=CLOB, javaType=java.lang.String},
executor_address= #{executorAddress},
executor_handler=#{executorHandler},
executor_param= #{executorParam},
executor_sharding_param= #{executorShardingParam},
executor_fail_retry_count= #{executorFailRetryCount}
WHERE id= #{id}
</update>
<update id="updateHandleInfo">
UPDATE xxl_job_log
SET
`handle_time`= #{handleTime},
`handle_code`= #{handleCode},
`handle_msg`= #{handleMsg}
WHERE `id`= #{id}
handle_time= #{handleTime},
handle_code= #{handleCode},
handle_msg= #{handleMsg, jdbcType=CLOB, javaType=java.lang.String}
WHERE id= #{id}
</update>
<delete id="delete" >
@ -168,8 +180,8 @@
SELECT
DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
COUNT(handle_code) triggerDayCount,
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) triggerDayCountRunning,
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) triggerDayCountSuc
FROM xxl_job_log
WHERE trigger_time BETWEEN #{from} and #{to}
GROUP BY triggerDay
@ -179,13 +191,16 @@
<select id="findLogReport" resultType="java.util.Map" >
SELECT
COUNT(handle_code) triggerDayCount,
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) triggerDayCountRunning,
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) triggerDayCountSuc
FROM xxl_job_log
WHERE trigger_time BETWEEN #{from} and #{to}
</select>
<select id="findClearLogIds" resultType="long" >
select * from (
select A.*, rownum rn from (
SELECT id FROM xxl_job_log
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobGroup gt 0">
@ -200,7 +215,7 @@
<if test="clearBeforeNum gt 0">
AND id NOT in(
SELECT id FROM(
SELECT id FROM xxl_job_log AS t
SELECT id FROM xxl_job_log t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobGroup gt 0">
AND t.job_group = #{jobGroup}
@ -216,7 +231,9 @@
</if>
</trim>
order by id asc
LIMIT #{pagesize}
) A
) where rn <![CDATA[ <= ]]> #{pagesize}
</select>
<delete id="clearLog" >
@ -228,22 +245,27 @@
</delete>
<select id="findFailJobLogIds" resultType="long" >
SELECT id FROM `xxl_job_log`
WHERE !(
select * from (
select A.*, rownum rn from (
SELECT id FROM xxl_job_log
WHERE not (
(trigger_code in (0, 200) and handle_code = 0)
OR
(handle_code = 200)
)
AND `alarm_status` = 0
AND alarm_status = 0
ORDER BY id ASC
LIMIT #{pagesize}
) A
) where rn <![CDATA[ <= ]]> #{pagesize}
</select>
<update id="updateAlarmStatus" >
UPDATE xxl_job_log
SET
`alarm_status` = #{newAlarmStatus}
WHERE `id`= #{logId} AND `alarm_status` = #{oldAlarmStatus}
alarm_status = #{newAlarmStatus}
WHERE id= #{logId} AND alarm_status = #{oldAlarmStatus}
</update>
<select id="findLostJobIds" resultType="long" >
@ -256,17 +278,17 @@
t.trigger_code = 200
AND t.handle_code = 0
AND t.trigger_time <![CDATA[ <= ]]> #{losedTime}
AND t2.id IS NULL;
AND t2.id IS NULL
</select>
<!--
SELECT t.id
FROM xxl_job_log AS t
FROM xxl_job_log t
WHERE t.trigger_code = 200
and t.handle_code = 0
and t.trigger_time <![CDATA[ <= ]]> #{losedTime}
and t.executor_address not in (
SELECT t2.registry_value
FROM xxl_job_registry AS t2
FROM xxl_job_registry t2
)
-->

@ -19,18 +19,23 @@
t.fail_count
</sql>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogReport" useGeneratedKeys="true" keyProperty="id" >
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogReport">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_log_report (
`trigger_day`,
`running_count`,
`suc_count`,
`fail_count`
id,
trigger_day,
running_count,
suc_count,
fail_count
) VALUES (
#{id},
#{triggerDay},
#{runningCount},
#{sucCount},
#{failCount}
);
)
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>-->
@ -38,15 +43,15 @@
<update id="update" >
UPDATE xxl_job_log_report
SET `running_count` = #{runningCount},
`suc_count` = #{sucCount},
`fail_count` = #{failCount}
WHERE `trigger_day` = #{triggerDay}
SET running_count = #{runningCount},
suc_count = #{sucCount},
fail_count = #{failCount}
WHERE trigger_day = #{triggerDay}
</update>
<select id="queryLogReport" resultMap="XxlJobLogReport">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_log_report AS t
FROM xxl_job_log_report t
WHERE t.trigger_day between #{triggerDayFrom} and #{triggerDayTo}
ORDER BY t.trigger_day ASC
</select>
@ -56,7 +61,7 @@
SUM(running_count) running_count,
SUM(suc_count) suc_count,
SUM(fail_count) fail_count
FROM xxl_job_log_report AS t
FROM xxl_job_log_report t
</select>
</mapper>

@ -21,8 +21,8 @@
<select id="findDead" parameterType="java.util.HashMap" resultType="java.lang.Integer" >
SELECT t.id
FROM xxl_job_registry AS t
WHERE t.update_time <![CDATA[ < ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
FROM xxl_job_registry t
WHERE t.update_time <![CDATA[ < ]]> #{nowTime} - INTERVAL '${timeout}' SECOND
</select>
<delete id="removeDead" parameterType="java.lang.Integer" >
@ -35,21 +35,24 @@
<select id="findAll" parameterType="java.util.HashMap" resultMap="XxlJobRegistry">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_registry AS t
WHERE t.update_time <![CDATA[ > ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
FROM xxl_job_registry t
WHERE t.update_time <![CDATA[ > ]]> #{nowTime} - INTERVAL '${timeout}' SECOND
</select>
<update id="registryUpdate" >
<update id="registryUpdate">
UPDATE xxl_job_registry
SET `update_time` = #{updateTime}
WHERE `registry_group` = #{registryGroup}
AND `registry_key` = #{registryKey}
AND `registry_value` = #{registryValue}
SET update_time = #{updateTime}
WHERE registry_group = #{registryGroup}
AND registry_key = #{registryKey}
AND registry_value = #{registryValue}
</update>
<insert id="registrySave" >
INSERT INTO xxl_job_registry( `registry_group` , `registry_key` , `registry_value`, `update_time`)
VALUES( #{registryGroup} , #{registryKey} , #{registryValue}, #{updateTime})
<insert id="registrySave" useGeneratedKeys="true" keyProperty="id">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_registry(id, registry_group , registry_key , registry_value, update_time)
VALUES(#{id}, #{registryGroup} , #{registryKey} , #{registryValue}, #{updateTime})
</insert>
<delete id="registryDelete" >

@ -20,8 +20,12 @@
</sql>
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobUser">
select * from (
select * from (
select A.*, rownum rn from (
SELECT <include refid="Base_Column_List" />
FROM xxl_job_user AS t
FROM xxl_job_user t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="username != null and username != ''">
AND t.username like CONCAT(CONCAT('%', #{username}), '%')
@ -31,12 +35,15 @@
</if>
</trim>
ORDER BY username ASC
LIMIT #{offset}, #{pagesize}
) A
) where rn <![CDATA[ > ]]> #{offset}
) where rn <![CDATA[ <= ]]> #{offset} + #{pagesize}
</select>
<select id="pageListCount" parameterType="java.util.HashMap" resultType="int">
SELECT count(1)
FROM xxl_job_user AS t
FROM xxl_job_user t
<trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="username != null and username != ''">
AND t.username like CONCAT(CONCAT('%', #{username}), '%')
@ -49,22 +56,27 @@
<select id="loadByUserName" parameterType="java.util.HashMap" resultMap="XxlJobUser">
SELECT <include refid="Base_Column_List" />
FROM xxl_job_user AS t
FROM xxl_job_user t
WHERE t.username = #{username}
</select>
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobUser" useGeneratedKeys="true" keyProperty="id" >
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobUser">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
select SEQ_XXL_JOB_LOG_ID.NEXTVAL id from dual
</selectKey>
INSERT INTO xxl_job_user (
id,
username,
password,
role,
permission
) VALUES (
#{id},
#{username},
#{password},
#{role},
#{permission}
);
)
</insert>
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobUser" >

Loading…
Cancel
Save