forEntity = restTemplate.getForEntity(url, String.class);
+ if (forEntity.getStatusCode() == HttpStatus.OK) {
+ return forEntity.getBody();
+ } else {
+ return null;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java
new file mode 100644
index 0000000..aff07f9
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/IdWorker.java
@@ -0,0 +1,163 @@
+package com.java2nb.novel.core.utils;
+
+
+import java.lang.management.ManagementFactory;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+
+/**
+ * 名称:IdWorker.java
+ * 描述:分布式自增长ID
+ *
+ * Twitter的 Snowflake JAVA实现方案
+ *
+ * 核心代码为其IdWorker这个类实现,其原理结构如下,我分别用一个0表示一位,用—分割开部分的作用:
+ * 1||0---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000
+ * 在上面的字符串中,第一位为未使用(实际上也可作为long的符号位),接下来的41位为毫秒级时间,
+ * 然后5位datacenter标识位,5位机器ID(并不算标识符,实际是为线程标识),
+ * 然后12位该毫秒内的当前毫秒内的计数,加起来刚好64位,为一个Long型。
+ * 这样的好处是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由datacenter和机器ID作区分),
+ * 并且效率较高,经测试,snowflake每秒能够产生26万ID左右,完全满足需要。
+ *
+ * 64位ID (42(毫秒)+5(机器ID)+5(业务编码)+12(重复累加))
+ *
+ */
+public class IdWorker {
+ // 时间起始标记点,作为基准,一般取系统的最近时间(一旦确定不能变动)
+ private final static long twepoch = 1288834974657L;
+ // 机器标识位数
+ private final static long workerIdBits = 5L;
+ // 数据中心标识位数
+ private final static long datacenterIdBits = 5L;
+ // 机器ID最大值
+ private final static long maxWorkerId = -1L ^ (-1L << workerIdBits);
+ // 数据中心ID最大值
+ private final static long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
+ // 毫秒内自增位
+ private final static long sequenceBits = 12L;
+ // 机器ID偏左移12位
+ private final static long workerIdShift = sequenceBits;
+ // 数据中心ID左移17位
+ private final static long datacenterIdShift = sequenceBits + workerIdBits;
+ // 时间毫秒左移22位
+ private final static long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
+
+ private final static long sequenceMask = -1L ^ (-1L << sequenceBits);
+ /* 上次生产id时间戳 */
+ private static long lastTimestamp = -1L;
+ // 0,并发控制
+ private long sequence = 0L;
+
+ private final long workerId;
+ // 数据标识id部分
+ private final long datacenterId;
+
+ public IdWorker(){
+ this.datacenterId = getDatacenterId(maxDatacenterId);
+ this.workerId = getMaxWorkerId(datacenterId, maxWorkerId);
+ }
+ /**
+ * @param workerId
+ * 工作机器ID
+ * @param datacenterId
+ * 序列号
+ */
+ public IdWorker(long workerId, long datacenterId) {
+ if (workerId > maxWorkerId || workerId < 0) {
+ throw new IllegalArgumentException(String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
+ }
+ if (datacenterId > maxDatacenterId || datacenterId < 0) {
+ throw new IllegalArgumentException(String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
+ }
+ this.workerId = workerId;
+ this.datacenterId = datacenterId;
+ }
+ /**
+ * 获取下一个ID
+ *
+ * @return
+ */
+ public synchronized long nextId() {
+ long timestamp = timeGen();
+ if (timestamp < lastTimestamp) {
+ throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
+ }
+
+ if (lastTimestamp == timestamp) {
+ // 当前毫秒内,则+1
+ sequence = (sequence + 1) & sequenceMask;
+ if (sequence == 0) {
+ // 当前毫秒内计数满了,则等待下一秒
+ timestamp = tilNextMillis(lastTimestamp);
+ }
+ } else {
+ sequence = 0L;
+ }
+ lastTimestamp = timestamp;
+ // ID偏移组合生成最终的ID,并返回ID
+ long nextId = ((timestamp - twepoch) << timestampLeftShift)
+ | (datacenterId << datacenterIdShift)
+ | (workerId << workerIdShift) | sequence;
+
+ return nextId;
+ }
+
+ private long tilNextMillis(final long lastTimestamp) {
+ long timestamp = this.timeGen();
+ while (timestamp <= lastTimestamp) {
+ timestamp = this.timeGen();
+ }
+ return timestamp;
+ }
+
+ private long timeGen() {
+ return System.currentTimeMillis();
+ }
+
+ /**
+ *
+ * 获取 maxWorkerId
+ *
+ */
+ protected static long getMaxWorkerId(long datacenterId, long maxWorkerId) {
+ StringBuffer mpid = new StringBuffer();
+ mpid.append(datacenterId);
+ String name = ManagementFactory.getRuntimeMXBean().getName();
+ if (!name.isEmpty()) {
+ /*
+ * GET jvmPid
+ */
+ mpid.append(name.split("@")[0]);
+ }
+ /*
+ * MAC + PID 的 hashcode 获取16个低位
+ */
+ return (mpid.toString().hashCode() & 0xffff) % (maxWorkerId + 1);
+ }
+
+ /**
+ *
+ * 数据标识id部分
+ *
+ */
+ protected static long getDatacenterId(long maxDatacenterId) {
+ long id = 0L;
+ try {
+ InetAddress ip = InetAddress.getLocalHost();
+ NetworkInterface network = NetworkInterface.getByInetAddress(ip);
+ if (network == null) {
+ id = 1L;
+ } else {
+ byte[] mac = network.getHardwareAddress();
+ id = ((0x000000FF & (long) mac[mac.length - 1])
+ | (0x0000FF00 & (((long) mac[mac.length - 2]) << 8))) >> 6;
+ id = id % (maxDatacenterId + 1);
+ }
+ } catch (Exception e) {
+ System.out.println(" getDatacenterId: " + e.getMessage());
+ }
+ return id;
+ }
+
+
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/IpUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/IpUtil.java
new file mode 100644
index 0000000..c7f92d2
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/IpUtil.java
@@ -0,0 +1,34 @@
+package com.java2nb.novel.core.utils;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class IpUtil {
+
+ /**
+ * 获取真实IP
+ * @param request 请求体
+ * @return 真实IP
+ */
+ public static String getRealIp(HttpServletRequest request) {
+ // 这个一般是Nginx反向代理设置的参数
+ String ip = request.getHeader("X-Real-IP");
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("X-Forwarded-For");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ }
+ // 处理多IP的情况(只取第一个IP)
+ if (ip != null && ip.contains(",")) {
+ String[] ipArray = ip.split(",");
+ ip = ipArray[0];
+ }
+ return ip;
+ }
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java
new file mode 100644
index 0000000..4bc27bc
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/MD5Util.java
@@ -0,0 +1,61 @@
+package com.java2nb.novel.core.utils;
+
+
+import lombok.SneakyThrows;
+import sun.misc.BASE64Encoder;
+
+import java.security.MessageDigest;
+
+/**
+ * @author 11797
+ */
+public class MD5Util {
+
+ private static final String DEFAUL_CHARSET = "utf-8" ;
+
+ private static String byteArrayToHexString(byte[] b) {
+ StringBuffer resultSb = new StringBuffer();
+ for (int i = 0; i < b.length; i++) {
+ resultSb.append(byteToHexString(b[i]));
+ }
+
+ return resultSb.toString();
+ }
+
+ private static String byteToHexString(byte b) {
+ int n = b;
+ if (n < 0) {
+ n += 256;
+ }
+ int d1 = n / 16;
+ int d2 = n % 16;
+ return HEX_DIGITS[d1] + HEX_DIGITS[d2];
+ }
+
+ @SneakyThrows
+ public static String MD5Encode(String origin,String charsetname) {
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ if (charsetname == null || "".equals(charsetname)) {
+ return byteArrayToHexString(md.digest(origin
+ .getBytes()));
+ } else {
+ return byteArrayToHexString(md.digest(origin
+ .getBytes(charsetname)));
+ }
+ }
+
+ @SneakyThrows
+ public static String MD5New(String str) {
+ //首先利用MD5算法将密码加密,变成等长字节
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ byte[] b1 = md.digest(str.getBytes());
+ //将等长字节利用Base64算法转换成字符串
+ BASE64Encoder encoder = new BASE64Encoder();
+ return encoder.encode(b1);
+ }
+
+ private static final String[] HEX_DIGITS = {"0", "1", "2", "3", "4", "5",
+ "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
+
+
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomBookInfoUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomBookInfoUtil.java
new file mode 100644
index 0000000..9d57f30
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomBookInfoUtil.java
@@ -0,0 +1,103 @@
+package com.java2nb.novel.core.utils;
+
+import java.util.Random;
+
+/**
+ * 随机生成小说信息工具类
+ * @author Administrator
+ */
+public class RandomBookInfoUtil {
+
+ /**
+ * 根据评分获取访问人数
+ * */
+ public static Long getVisitCountByScore(Float score){
+ Long visitCount ;
+
+ if(score > 9){
+ visitCount = 100000 + new Random(100000).nextLong();
+ }else if(score > 8){
+ visitCount = 10000 + new Random(10000).nextLong();
+ }else if(score > 7){
+ visitCount = 1000 + new Random(1000).nextLong();
+ }else if(score > 6){
+ visitCount = 100 + new Random(100).nextLong();
+ }else{
+ visitCount = new Random(100).nextLong();
+ }
+
+
+ return visitCount;
+
+ }
+
+ /**
+ * 根据访问人数获取评分
+ * */
+ public static Float getScoreByVisitCount(Long visitCount){
+ Float score;
+ if(visitCount>100000) {
+ score = 8.9f;
+ }else if(visitCount>10000){
+ score = 8.0f+(visitCount/10000)*0.1f;
+ }else if(visitCount>1000){
+ score = 7.0f+(visitCount/1000)*0.1f;
+ }else if(visitCount>100){
+ score = 6.0f+(visitCount/100)*0.1f;
+ }else{
+ score = 6.0f;
+ }
+ return score;
+ }
+ /**
+ * 获取分类名
+ * */
+ public static String getCatNameById(Integer catId) {
+ String catName = "其他";
+
+ switch (catId) {
+ case 1: {
+ catName = "玄幻奇幻";
+ break;
+ }
+ case 2: {
+ catName = "武侠仙侠";
+ break;
+ }
+ case 3: {
+ catName = "都市言情";
+ break;
+ }
+ case 4: {
+ catName = "历史军事";
+ break;
+ }
+ case 5: {
+ catName = "科幻灵异";
+ break;
+ }
+ case 6: {
+ catName = "网游竞技";
+ break;
+ }
+ case 7: {
+ catName = "女生频道";
+ break;
+ }
+ case 8: {
+ catName = "轻小说";
+ break;
+ }
+ case 9: {
+ catName = "漫画";
+ break;
+ }
+ default: {
+ break;
+ }
+
+
+ }
+ return catName;
+ }
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomValidateCodeUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomValidateCodeUtil.java
new file mode 100644
index 0000000..0a4ffb1
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/RandomValidateCodeUtil.java
@@ -0,0 +1,138 @@
+package com.java2nb.novel.core.utils;
+
+import com.java2nb.novel.core.cache.CacheService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.util.Random;
+
+/**
+ * @author xiongxy
+ */
+public class RandomValidateCodeUtil {
+
+
+ /**
+ * 放到session中的key
+ * */
+ public static final String RANDOM_CODE_KEY = "randomValidateCodeKey";
+ /**
+ * 随机产生只有数字的字符串 private String
+ * */
+ private String randString = "0123456789";
+ /**
+ * 图片宽
+ * */
+ private int width = 100;
+ /**
+ * 图片高
+ * */
+ private int height = 38;
+ /**
+ * 干扰线数量
+ * */
+ private int lineSize = 40;
+ /**
+ * 随机产生字符数量
+ * */
+ private int stringNum = 4;
+
+ private static final Logger logger = LoggerFactory.getLogger(RandomValidateCodeUtil.class);
+
+ private Random random = new Random();
+
+ /**
+ * 获得字体
+ */
+ private Font getFont() {
+ return new Font("Fixedsys", Font.ROMAN_BASELINE, 23);
+ }
+
+ /**
+ * 获得颜色
+ */
+ private Color getRandColor(int fc, int bc) {
+ if (fc > 255) {
+ fc = 255;
+ }
+ if (bc > 255) {
+ bc = 255;
+ }
+ int r = fc + random.nextInt(bc - fc - 16);
+ int g = fc + random.nextInt(bc - fc - 14);
+ int b = fc + random.nextInt(bc - fc - 18);
+ return new Color(r, g, b);
+ }
+
+ /**
+ * 生成随机图片
+ */
+ public void getRandcode(CacheService cacheService, HttpServletResponse response) {
+ // BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
+ // 产生Image对象的Graphics对象,改对象可以在图像上进行各种绘制操作
+ Graphics g = image.getGraphics();
+ //图片大小
+ g.fillRect(0, 0, width, height);
+ //字体大小
+ //字体颜色
+ g.setColor(new Color(204,204,204));
+ // 绘制干扰线
+ for (int i = 0; i <= lineSize; i++) {
+ drowLine(g);
+ }
+ // 绘制随机字符
+ String randomString = "";
+ for (int i = 1; i <= stringNum; i++) {
+ randomString = drowString(g, randomString, i);
+ }
+ logger.info(randomString);
+ //将生成的随机字符串保存到缓存中
+ cacheService.set(RANDOM_CODE_KEY,randomString,60*5);
+ g.dispose();
+ try {
+ // 将内存中的图片通过流动形式输出到客户端
+ ImageIO.write(image, "JPEG", response.getOutputStream());
+ } catch (Exception e) {
+ logger.error("将内存中的图片通过流动形式输出到客户端失败>>>> ", e);
+ }
+
+ }
+
+ /**
+ * 绘制字符串
+ */
+ private String drowString(Graphics g, String randomString, int i) {
+ g.setFont(getFont());
+ g.setColor(new Color(random.nextInt(101), random.nextInt(111), random
+ .nextInt(121)));
+ String rand = String.valueOf(getRandomString(random.nextInt(randString
+ .length())));
+ randomString += rand;
+ g.translate(random.nextInt(3), random.nextInt(3));
+ g.drawString(rand, 13 * i, 23);
+ return randomString;
+ }
+
+ /**
+ * 绘制干扰线
+ */
+ private void drowLine(Graphics g) {
+ int x = random.nextInt(width);
+ int y = random.nextInt(height);
+ int xl = random.nextInt(13);
+ int yl = random.nextInt(15);
+ g.drawLine(x, y, x + xl, y + yl);
+ }
+
+ /**
+ * 获取随机的字符
+ */
+ public String getRandomString(int num) {
+ return String.valueOf(randString.charAt(num));
+ }
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplateUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplateUtil.java
new file mode 100644
index 0000000..02012fb
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplateUtil.java
@@ -0,0 +1,72 @@
+package com.java2nb.novel.core.utils;
+
+import lombok.SneakyThrows;
+import org.apache.http.config.Registry;
+import org.apache.http.config.RegistryBuilder;
+import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.conn.ssl.TrustStrategy;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.web.client.RestTemplate;
+
+import javax.net.ssl.SSLContext;
+import java.nio.charset.Charset;
+import java.security.cert.X509Certificate;
+import java.util.List;
+
+public class RestTemplateUtil {
+
+
+
+ @SneakyThrows
+ public static RestTemplate getInstance(String charset) {
+ TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
+
+ //忽略证书
+ SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
+ .loadTrustMaterial(null, acceptingTrustStrategy)
+ .build();
+
+ SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
+
+ Registry registry = RegistryBuilder.create()
+ .register("http", PlainConnectionSocketFactory.getSocketFactory())
+ .register("https", csf)
+ .build();
+ PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
+
+ //连接池的最大连接数,0代表不限;如果取0,需要考虑连接泄露导致系统崩溃的后果
+ connectionManager.setMaxTotal(1000);
+ //每个路由的最大连接数,如果只调用一个地址,可以将其设置为最大连接数
+ connectionManager.setDefaultMaxPerRoute(300);
+
+ CloseableHttpClient httpClient = HttpClients.custom()
+ .setConnectionManager(connectionManager)
+ .build();
+
+
+ HttpComponentsClientHttpRequestFactory requestFactory =
+ new HttpComponentsClientHttpRequestFactory();
+
+ requestFactory.setHttpClient(httpClient);
+ requestFactory.setConnectionRequestTimeout(3000);
+ requestFactory.setConnectTimeout(3000);
+ requestFactory.setReadTimeout(10000);
+ RestTemplate restTemplate = new RestTemplate(requestFactory);
+ List> list = restTemplate.getMessageConverters();
+ for (HttpMessageConverter> httpMessageConverter : list) {
+ if(httpMessageConverter instanceof StringHttpMessageConverter) {
+ ((StringHttpMessageConverter) httpMessageConverter).setDefaultCharset(Charset.forName(charset));
+ break;
+ }
+ }
+ return restTemplate;
+ }
+
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java
new file mode 100644
index 0000000..ad5d5d9
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/SpringUtil.java
@@ -0,0 +1,52 @@
+package com.java2nb.novel.core.utils;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author Administrator
+ */
+@Component
+public class SpringUtil implements ApplicationContextAware {
+
+
+
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ if (SpringUtil.applicationContext == null) {
+ SpringUtil.applicationContext = applicationContext;
+ }
+ }
+
+ /**
+ * 获取applicationContext
+ * */
+ public static ApplicationContext getApplicationContext() {
+ return applicationContext;
+ }
+
+ /**
+ * 通过name获取 Bean.
+ * */
+ public static Object getBean(String name) {
+ return getApplicationContext().getBean(name);
+ }
+
+ /**
+ * 通过class获取Bean
+ * */
+ public static T getBean(Class clazz) {
+ return getApplicationContext().getBean(clazz);
+ }
+
+ /**
+ * 通过name,以及Clazz返回指定的Bean
+ * */
+ public static T getBean(String name, Class clazz) {
+ return getApplicationContext().getBean(name, clazz);
+ }
+
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java
new file mode 100644
index 0000000..aa216da
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/ThreadUtil.java
@@ -0,0 +1,26 @@
+package com.java2nb.novel.core.utils;
+
+/**
+ * 线程工具类
+ * @author Administrator
+ */
+public class ThreadUtil {
+
+ /**
+ * 根据线程ID获取线程
+ * */
+ public static Thread findThread(long threadId) {
+ ThreadGroup group = Thread.currentThread().getThreadGroup();
+ while(group != null) {
+ Thread[] threads = new Thread[(int)(group.activeCount() * 1.2)];
+ int count = group.enumerate(threads, true);
+ for(int i = 0; i < count; i++) {
+ if(threadId == threads[i].getId()) {
+ return threads[i];
+ }
+ }
+ group = group.getParent();
+ }
+ return null;
+ }
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java
new file mode 100644
index 0000000..71d3cb6
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/UUIDUtil.java
@@ -0,0 +1,96 @@
+package com.java2nb.novel.core.utils;
+
+import java.util.UUID;
+
+/**
+ * @author Administrator
+ */
+public class UUIDUtil {
+
+ public static final String[] CHARS = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
+ "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6",
+ "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
+ "S", "T", "U", "V", "W", "X", "Y", "Z" };
+
+ /**
+ * 生成指定长度的uuid
+ *
+ * @param length
+ * @return
+ */
+ private static String getUUID(int length, UUID uuid) {
+ int groupLength = 32 / length;
+ StringBuilder sb = new StringBuilder();
+ String id = uuid.toString().replace("-", "");
+ for (int i = 0; i < length; i++) {
+ String str = id.substring(i * groupLength, i * groupLength + groupLength);
+ int x = Integer.parseInt(str, 16);
+ sb.append(CHARS[x % 0x3E]);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 8位UUID
+ *
+ * @return
+ */
+ public static String getUUID8() {
+ return getUUID(8, UUID.randomUUID());
+ }
+
+ /**
+ * 8位UUID
+ *
+ * @return
+ */
+ public static String getUUID8(byte[] bytes) {
+ return getUUID(8, UUID.nameUUIDFromBytes(bytes));
+ }
+
+ /**
+ * 8位UUID
+ *
+ * @return
+ */
+ public static String getUUID8(String fromString) {
+ return getUUID(8, UUID.fromString(fromString));
+ }
+
+ /**
+ * 16位UUID
+ *
+ * @return
+ */
+ public static String getUUID16() {
+ return getUUID(16, UUID.randomUUID());
+ }
+
+ /**
+ * 16位UUID
+ *
+ * @return
+ */
+ public static String getUUID16(String fromString) {
+ return getUUID(16, UUID.fromString(fromString));
+ }
+
+ /**
+ * 16位UUID
+ *
+ * @return
+ */
+ public static String getUUID16(byte[] bytes) {
+ return getUUID(16, UUID.nameUUIDFromBytes(bytes));
+ }
+
+ /**
+ * 32位UUID
+ *
+ * @return
+ */
+ public static String getUUID32() {
+ return UUID.randomUUID().toString().replace("-", "");
+ }
+
+}
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/Book.java b/novel-common/src/main/java/com/java2nb/novel/entity/Book.java
new file mode 100644
index 0000000..fcda60e
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/Book.java
@@ -0,0 +1,332 @@
+package com.java2nb.novel.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class Book implements Serializable{
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer catId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String catName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String picUrl;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String bookName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long authorId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String authorName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String bookDesc;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Float score;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte bookStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long visitCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer wordCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer commentCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long lastIndexId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String lastIndexName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date lastIndexUpdateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte isVip;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte status;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer crawlSourceId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String crawlBookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date crawlLastTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte crawlIsStop;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getWorkDirection() {
+ return workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setWorkDirection(Byte workDirection) {
+ this.workDirection = workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCatId() {
+ return catId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCatId(Integer catId) {
+ this.catId = catId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getCatName() {
+ return catName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCatName(String catName) {
+ this.catName = catName == null ? null : catName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getPicUrl() {
+ return picUrl;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setPicUrl(String picUrl) {
+ this.picUrl = picUrl == null ? null : picUrl.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getBookName() {
+ return bookName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookName(String bookName) {
+ this.bookName = bookName == null ? null : bookName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getAuthorId() {
+ return authorId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setAuthorId(Long authorId) {
+ this.authorId = authorId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getAuthorName() {
+ return authorName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setAuthorName(String authorName) {
+ this.authorName = authorName == null ? null : authorName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getBookDesc() {
+ return bookDesc;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookDesc(String bookDesc) {
+ this.bookDesc = bookDesc == null ? null : bookDesc.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Float getScore() {
+ return score;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setScore(Float score) {
+ this.score = score;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getBookStatus() {
+ return bookStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookStatus(Byte bookStatus) {
+ this.bookStatus = bookStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getVisitCount() {
+ return visitCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setVisitCount(Long visitCount) {
+ this.visitCount = visitCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getWordCount() {
+ return wordCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setWordCount(Integer wordCount) {
+ this.wordCount = wordCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCommentCount() {
+ return commentCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCommentCount(Integer commentCount) {
+ this.commentCount = commentCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getLastIndexId() {
+ return lastIndexId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setLastIndexId(Long lastIndexId) {
+ this.lastIndexId = lastIndexId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getLastIndexName() {
+ return lastIndexName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setLastIndexName(String lastIndexName) {
+ this.lastIndexName = lastIndexName == null ? null : lastIndexName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getLastIndexUpdateTime() {
+ return lastIndexUpdateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setLastIndexUpdateTime(Date lastIndexUpdateTime) {
+ this.lastIndexUpdateTime = lastIndexUpdateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getIsVip() {
+ return isVip;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIsVip(Byte isVip) {
+ this.isVip = isVip;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getStatus() {
+ return status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setStatus(Byte status) {
+ this.status = status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCrawlSourceId() {
+ return crawlSourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlSourceId(Integer crawlSourceId) {
+ this.crawlSourceId = crawlSourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getCrawlBookId() {
+ return crawlBookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlBookId(String crawlBookId) {
+ this.crawlBookId = crawlBookId == null ? null : crawlBookId.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCrawlLastTime() {
+ return crawlLastTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlLastTime(Date crawlLastTime) {
+ this.crawlLastTime = crawlLastTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getCrawlIsStop() {
+ return crawlIsStop;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlIsStop(Byte crawlIsStop) {
+ this.crawlIsStop = crawlIsStop;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookAuthor.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookAuthor.java
new file mode 100644
index 0000000..752f079
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookAuthor.java
@@ -0,0 +1,162 @@
+package com.java2nb.novel.entity;
+
+import javax.annotation.Generated;
+import java.util.Date;
+
+public class BookAuthor {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String inviteCode;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String penName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String telPhone;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String chatAccount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String email;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte status;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getInviteCode() {
+ return inviteCode;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setInviteCode(String inviteCode) {
+ this.inviteCode = inviteCode == null ? null : inviteCode.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getPenName() {
+ return penName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setPenName(String penName) {
+ this.penName = penName == null ? null : penName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getTelPhone() {
+ return telPhone;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setTelPhone(String telPhone) {
+ this.telPhone = telPhone == null ? null : telPhone.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getChatAccount() {
+ return chatAccount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setChatAccount(String chatAccount) {
+ this.chatAccount = chatAccount == null ? null : chatAccount.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getEmail() {
+ return email;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setEmail(String email) {
+ this.email = email == null ? null : email.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getWorkDirection() {
+ return workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setWorkDirection(Byte workDirection) {
+ this.workDirection = workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getStatus() {
+ return status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setStatus(Byte status) {
+ this.status = status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUpdateUserId() {
+ return updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateUserId(Long updateUserId) {
+ this.updateUserId = updateUserId;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookCategory.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookCategory.java
new file mode 100644
index 0000000..7f6f64a
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookCategory.java
@@ -0,0 +1,110 @@
+package com.java2nb.novel.entity;
+
+import javax.annotation.Generated;
+import java.util.Date;
+
+public class BookCategory {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String name;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte sort;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getWorkDirection() {
+ return workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setWorkDirection(Byte workDirection) {
+ this.workDirection = workDirection;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getName() {
+ return name;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getSort() {
+ return sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSort(Byte sort) {
+ this.sort = sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUpdateUserId() {
+ return updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateUserId(Long updateUserId) {
+ this.updateUserId = updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookComment.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookComment.java
new file mode 100644
index 0000000..98c48b2
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookComment.java
@@ -0,0 +1,98 @@
+package com.java2nb.novel.entity;
+
+
+import javax.annotation.Generated;
+import java.util.Date;
+
+public class BookComment {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String commentContent;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer replyCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte auditStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getBookId() {
+ return bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getCommentContent() {
+ return commentContent;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCommentContent(String commentContent) {
+ this.commentContent = commentContent == null ? null : commentContent.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getReplyCount() {
+ return replyCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setReplyCount(Integer replyCount) {
+ this.replyCount = replyCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getAuditStatus() {
+ return auditStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setAuditStatus(Byte auditStatus) {
+ this.auditStatus = auditStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookContent.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookContent.java
new file mode 100644
index 0000000..635097b
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookContent.java
@@ -0,0 +1,44 @@
+package com.java2nb.novel.entity;
+
+import javax.annotation.Generated;
+
+public class BookContent {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long indexId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String content;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getIndexId() {
+ return indexId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIndexId(Long indexId) {
+ this.indexId = indexId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getContent() {
+ return content;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setContent(String content) {
+ this.content = content == null ? null : content.trim();
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookIndex.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookIndex.java
new file mode 100644
index 0000000..273c998
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookIndex.java
@@ -0,0 +1,110 @@
+package com.java2nb.novel.entity;
+
+import javax.annotation.Generated;
+import java.util.Date;
+
+public class BookIndex {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer indexNum;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String indexName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer wordCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte isVip;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getBookId() {
+ return bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getIndexNum() {
+ return indexNum;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIndexNum(Integer indexNum) {
+ this.indexNum = indexNum;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getIndexName() {
+ return indexName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIndexName(String indexName) {
+ this.indexName = indexName == null ? null : indexName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getWordCount() {
+ return wordCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setWordCount(Integer wordCount) {
+ this.wordCount = wordCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getIsVip() {
+ return isVip;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIsVip(Byte isVip) {
+ this.isVip = isVip;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java
new file mode 100644
index 0000000..18a78cc
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java
@@ -0,0 +1,110 @@
+package com.java2nb.novel.entity;
+
+import javax.annotation.Generated;
+import java.util.Date;
+
+public class BookSetting {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte sort;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte type;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getBookId() {
+ return bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getSort() {
+ return sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSort(Byte sort) {
+ this.sort = sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getType() {
+ return type;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setType(Byte type) {
+ this.type = type;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUpdateUserId() {
+ return updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateUserId(Long updateUserId) {
+ this.updateUserId = updateUserId;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/CrawlBatchTask.java b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlBatchTask.java
new file mode 100644
index 0000000..fbd5099
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlBatchTask.java
@@ -0,0 +1,97 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class CrawlBatchTask {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer sourceId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer crawlCountSuccess;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer crawlCountTarget;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte taskStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date startTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date endTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getSourceId() {
+ return sourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceId(Integer sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCrawlCountSuccess() {
+ return crawlCountSuccess;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlCountSuccess(Integer crawlCountSuccess) {
+ this.crawlCountSuccess = crawlCountSuccess;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCrawlCountTarget() {
+ return crawlCountTarget;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlCountTarget(Integer crawlCountTarget) {
+ this.crawlCountTarget = crawlCountTarget;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getTaskStatus() {
+ return taskStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setTaskStatus(Byte taskStatus) {
+ this.taskStatus = taskStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSingleTask.java b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSingleTask.java
new file mode 100644
index 0000000..ad6bb59
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSingleTask.java
@@ -0,0 +1,84 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class CrawlSingleTask {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer sourceId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String sourceBookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte taskStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte excCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getSourceId() {
+ return sourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceId(Integer sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getSourceBookId() {
+ return sourceBookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceBookId(String sourceBookId) {
+ this.sourceBookId = sourceBookId == null ? null : sourceBookId.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getTaskStatus() {
+ return taskStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setTaskStatus(Byte taskStatus) {
+ this.taskStatus = taskStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getExcCount() {
+ return excCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setExcCount(Byte excCount) {
+ this.excCount = excCount;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSource.java b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSource.java
new file mode 100644
index 0000000..d103889
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/CrawlSource.java
@@ -0,0 +1,84 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class CrawlSource {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String sourceName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String crawlRule;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte sourceStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName == null ? null : sourceName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getCrawlRule() {
+ return crawlRule;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCrawlRule(String crawlRule) {
+ this.crawlRule = crawlRule == null ? null : crawlRule.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getSourceStatus() {
+ return sourceStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceStatus(Byte sourceStatus) {
+ this.sourceStatus = sourceStatus;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/FriendLink.java b/novel-common/src/main/java/com/java2nb/novel/entity/FriendLink.java
new file mode 100644
index 0000000..e8bd442
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/FriendLink.java
@@ -0,0 +1,124 @@
+package com.java2nb.novel.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class FriendLink implements Serializable{
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String linkName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String linkUrl;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte sort;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte isOpen;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getLinkName() {
+ return linkName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setLinkName(String linkName) {
+ this.linkName = linkName == null ? null : linkName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getLinkUrl() {
+ return linkUrl;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setLinkUrl(String linkUrl) {
+ this.linkUrl = linkUrl == null ? null : linkUrl.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getSort() {
+ return sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSort(Byte sort) {
+ this.sort = sort;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getIsOpen() {
+ return isOpen;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setIsOpen(Byte isOpen) {
+ this.isOpen = isOpen;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUpdateUserId() {
+ return updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateUserId(Long updateUserId) {
+ this.updateUserId = updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/News.java b/novel-common/src/main/java/com/java2nb/novel/entity/News.java
new file mode 100644
index 0000000..c497248
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/News.java
@@ -0,0 +1,138 @@
+package com.java2nb.novel.entity;
+
+
+import javax.annotation.Generated;
+import java.io.Serializable;
+import java.util.Date;
+
+public class News implements Serializable {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Integer catId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String catName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String sourceName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String title;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String content;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Integer getCatId() {
+ return catId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCatId(Integer catId) {
+ this.catId = catId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getCatName() {
+ return catName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCatName(String catName) {
+ this.catName = catName == null ? null : catName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName == null ? null : sourceName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getTitle() {
+ return title;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setTitle(String title) {
+ this.title = title == null ? null : title.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getCreateUserId() {
+ return createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateUserId(Long createUserId) {
+ this.createUserId = createUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUpdateUserId() {
+ return updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateUserId(Long updateUserId) {
+ this.updateUserId = updateUserId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getContent() {
+ return content;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setContent(String content) {
+ this.content = content == null ? null : content.trim();
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/User.java b/novel-common/src/main/java/com/java2nb/novel/entity/User.java
new file mode 100644
index 0000000..e51e1cf
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/User.java
@@ -0,0 +1,136 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class User {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String username;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String password;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String nickName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String userPhoto;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte userSex;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long accountBalance;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Byte status;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getUsername() {
+ return username;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUsername(String username) {
+ this.username = username == null ? null : username.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getPassword() {
+ return password;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setPassword(String password) {
+ this.password = password == null ? null : password.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getNickName() {
+ return nickName;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setNickName(String nickName) {
+ this.nickName = nickName == null ? null : nickName.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getUserPhoto() {
+ return userPhoto;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUserPhoto(String userPhoto) {
+ this.userPhoto = userPhoto == null ? null : userPhoto.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getUserSex() {
+ return userSex;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUserSex(Byte userSex) {
+ this.userSex = userSex;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getAccountBalance() {
+ return accountBalance;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setAccountBalance(Long accountBalance) {
+ this.accountBalance = accountBalance;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Byte getStatus() {
+ return status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setStatus(Byte status) {
+ this.status = status;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/UserBookshelf.java b/novel-common/src/main/java/com/java2nb/novel/entity/UserBookshelf.java
new file mode 100644
index 0000000..daa733a
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/UserBookshelf.java
@@ -0,0 +1,84 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class UserBookshelf {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long userId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long preContentId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUserId() {
+ return userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getBookId() {
+ return bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getPreContentId() {
+ return preContentId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setPreContentId(Long preContentId) {
+ this.preContentId = preContentId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/UserFeedback.java b/novel-common/src/main/java/com/java2nb/novel/entity/UserFeedback.java
new file mode 100644
index 0000000..6feb7a4
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/UserFeedback.java
@@ -0,0 +1,59 @@
+package com.java2nb.novel.entity;
+
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class UserFeedback {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long userId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private String content;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUserId() {
+ return userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public String getContent() {
+ return content;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setContent(String content) {
+ this.content = content == null ? null : content.trim();
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/UserReadHistory.java b/novel-common/src/main/java/com/java2nb/novel/entity/UserReadHistory.java
new file mode 100644
index 0000000..78bbc7b
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/UserReadHistory.java
@@ -0,0 +1,84 @@
+package com.java2nb.novel.entity;
+
+import java.util.Date;
+import javax.annotation.Generated;
+
+public class UserReadHistory {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long userId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Long preContentId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ private Date updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getId() {
+ return id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getUserId() {
+ return userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getBookId() {
+ return bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Long getPreContentId() {
+ return preContentId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setPreContentId(Long preContentId) {
+ this.preContentId = preContentId;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorDynamicSqlSupport.java
new file mode 100644
index 0000000..376ae6a
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorDynamicSqlSupport.java
@@ -0,0 +1,79 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookAuthorDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookAuthor bookAuthor = new BookAuthor();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookAuthor.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn inviteCode = bookAuthor.inviteCode;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn penName = bookAuthor.penName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn telPhone = bookAuthor.telPhone;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn chatAccount = bookAuthor.chatAccount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn email = bookAuthor.email;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn workDirection = bookAuthor.workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn status = bookAuthor.status;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = bookAuthor.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createUserId = bookAuthor.createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateTime = bookAuthor.updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateUserId = bookAuthor.updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookAuthor extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn inviteCode = column("invite_code", JDBCType.VARCHAR);
+
+ public final SqlColumn penName = column("pen_name", JDBCType.VARCHAR);
+
+ public final SqlColumn telPhone = column("tel_phone", JDBCType.VARCHAR);
+
+ public final SqlColumn chatAccount = column("chat_account", JDBCType.VARCHAR);
+
+ public final SqlColumn email = column("email", JDBCType.VARCHAR);
+
+ public final SqlColumn workDirection = column("work_direction", JDBCType.TINYINT);
+
+ public final SqlColumn status = column("status", JDBCType.TINYINT);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn createUserId = column("create_user_id", JDBCType.BIGINT);
+
+ public final SqlColumn updateTime = column("update_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn updateUserId = column("update_user_id", JDBCType.BIGINT);
+
+ public BookAuthor() {
+ super("book_author");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorMapper.java
new file mode 100644
index 0000000..d75af5a
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookAuthorMapper.java
@@ -0,0 +1,248 @@
+package com.java2nb.novel.mapper;
+
+import static com.java2nb.novel.mapper.BookAuthorDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.*;
+
+import com.java2nb.novel.entity.BookAuthor;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Generated;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+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.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+@Mapper
+public interface BookAuthorMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, inviteCode, penName, telPhone, chatAccount, email, workDirection, status, createTime, createUserId, updateTime, updateUserId);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookAuthorResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookAuthorResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="invite_code", property="inviteCode", jdbcType=JdbcType.VARCHAR),
+ @Result(column="pen_name", property="penName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="tel_phone", property="telPhone", jdbcType=JdbcType.VARCHAR),
+ @Result(column="chat_account", property="chatAccount", jdbcType=JdbcType.VARCHAR),
+ @Result(column="email", property="email", jdbcType=JdbcType.VARCHAR),
+ @Result(column="work_direction", property="workDirection", jdbcType=JdbcType.TINYINT),
+ @Result(column="status", property="status", jdbcType=JdbcType.TINYINT),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT),
+ @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="update_user_id", property="updateUserId", jdbcType=JdbcType.BIGINT)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookAuthor record) {
+ return MyBatis3Utils.insert(this::insert, record, bookAuthor, c ->
+ c.map(id).toProperty("id")
+ .map(inviteCode).toProperty("inviteCode")
+ .map(penName).toProperty("penName")
+ .map(telPhone).toProperty("telPhone")
+ .map(chatAccount).toProperty("chatAccount")
+ .map(email).toProperty("email")
+ .map(workDirection).toProperty("workDirection")
+ .map(status).toProperty("status")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ .map(updateTime).toProperty("updateTime")
+ .map(updateUserId).toProperty("updateUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookAuthor, c ->
+ c.map(id).toProperty("id")
+ .map(inviteCode).toProperty("inviteCode")
+ .map(penName).toProperty("penName")
+ .map(telPhone).toProperty("telPhone")
+ .map(chatAccount).toProperty("chatAccount")
+ .map(email).toProperty("email")
+ .map(workDirection).toProperty("workDirection")
+ .map(status).toProperty("status")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ .map(updateTime).toProperty("updateTime")
+ .map(updateUserId).toProperty("updateUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookAuthor record) {
+ return MyBatis3Utils.insert(this::insert, record, bookAuthor, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(inviteCode).toPropertyWhenPresent("inviteCode", record::getInviteCode)
+ .map(penName).toPropertyWhenPresent("penName", record::getPenName)
+ .map(telPhone).toPropertyWhenPresent("telPhone", record::getTelPhone)
+ .map(chatAccount).toPropertyWhenPresent("chatAccount", record::getChatAccount)
+ .map(email).toPropertyWhenPresent("email", record::getEmail)
+ .map(workDirection).toPropertyWhenPresent("workDirection", record::getWorkDirection)
+ .map(status).toPropertyWhenPresent("status", record::getStatus)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId)
+ .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
+ .map(updateUserId).toPropertyWhenPresent("updateUserId", record::getUpdateUserId)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookAuthor, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(BookAuthor record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(inviteCode).equalTo(record::getInviteCode)
+ .set(penName).equalTo(record::getPenName)
+ .set(telPhone).equalTo(record::getTelPhone)
+ .set(chatAccount).equalTo(record::getChatAccount)
+ .set(email).equalTo(record::getEmail)
+ .set(workDirection).equalTo(record::getWorkDirection)
+ .set(status).equalTo(record::getStatus)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(createUserId).equalTo(record::getCreateUserId)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .set(updateUserId).equalTo(record::getUpdateUserId);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(BookAuthor record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(inviteCode).equalToWhenPresent(record::getInviteCode)
+ .set(penName).equalToWhenPresent(record::getPenName)
+ .set(telPhone).equalToWhenPresent(record::getTelPhone)
+ .set(chatAccount).equalToWhenPresent(record::getChatAccount)
+ .set(email).equalToWhenPresent(record::getEmail)
+ .set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(status).equalToWhenPresent(record::getStatus)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .set(updateUserId).equalToWhenPresent(record::getUpdateUserId);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(BookAuthor record) {
+ return update(c ->
+ c.set(inviteCode).equalTo(record::getInviteCode)
+ .set(penName).equalTo(record::getPenName)
+ .set(telPhone).equalTo(record::getTelPhone)
+ .set(chatAccount).equalTo(record::getChatAccount)
+ .set(email).equalTo(record::getEmail)
+ .set(workDirection).equalTo(record::getWorkDirection)
+ .set(status).equalTo(record::getStatus)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(createUserId).equalTo(record::getCreateUserId)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .set(updateUserId).equalTo(record::getUpdateUserId)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(BookAuthor record) {
+ return update(c ->
+ c.set(inviteCode).equalToWhenPresent(record::getInviteCode)
+ .set(penName).equalToWhenPresent(record::getPenName)
+ .set(telPhone).equalToWhenPresent(record::getTelPhone)
+ .set(chatAccount).equalToWhenPresent(record::getChatAccount)
+ .set(email).equalToWhenPresent(record::getEmail)
+ .set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(status).equalToWhenPresent(record::getStatus)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .set(updateUserId).equalToWhenPresent(record::getUpdateUserId)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryDynamicSqlSupport.java
new file mode 100644
index 0000000..2179255
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryDynamicSqlSupport.java
@@ -0,0 +1,59 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookCategoryDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookCategory bookCategory = new BookCategory();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookCategory.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn workDirection = bookCategory.workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn name = bookCategory.name;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn sort = bookCategory.sort;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createUserId = bookCategory.createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = bookCategory.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateUserId = bookCategory.updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateTime = bookCategory.updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookCategory extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.INTEGER);
+
+ public final SqlColumn workDirection = column("work_direction", JDBCType.TINYINT);
+
+ public final SqlColumn name = column("name", JDBCType.VARCHAR);
+
+ public final SqlColumn sort = column("sort", JDBCType.TINYINT);
+
+ public final SqlColumn createUserId = column("create_user_id", JDBCType.BIGINT);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn updateUserId = column("update_user_id", JDBCType.BIGINT);
+
+ public final SqlColumn updateTime = column("update_time", JDBCType.TIMESTAMP);
+
+ public BookCategory() {
+ super("book_category");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryMapper.java
new file mode 100644
index 0000000..91c2100
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCategoryMapper.java
@@ -0,0 +1,216 @@
+package com.java2nb.novel.mapper;
+
+import static com.java2nb.novel.mapper.BookCategoryDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.*;
+
+import com.java2nb.novel.entity.BookCategory;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Generated;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+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.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+@Mapper
+public interface BookCategoryMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, workDirection, name, sort, createUserId, createTime, updateUserId, updateTime);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookCategoryResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookCategoryResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true),
+ @Result(column="work_direction", property="workDirection", jdbcType=JdbcType.TINYINT),
+ @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
+ @Result(column="sort", property="sort", jdbcType=JdbcType.TINYINT),
+ @Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="update_user_id", property="updateUserId", jdbcType=JdbcType.BIGINT),
+ @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Integer id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookCategory record) {
+ return MyBatis3Utils.insert(this::insert, record, bookCategory, c ->
+ c.map(id).toProperty("id")
+ .map(workDirection).toProperty("workDirection")
+ .map(name).toProperty("name")
+ .map(sort).toProperty("sort")
+ .map(createUserId).toProperty("createUserId")
+ .map(createTime).toProperty("createTime")
+ .map(updateUserId).toProperty("updateUserId")
+ .map(updateTime).toProperty("updateTime")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookCategory, c ->
+ c.map(id).toProperty("id")
+ .map(workDirection).toProperty("workDirection")
+ .map(name).toProperty("name")
+ .map(sort).toProperty("sort")
+ .map(createUserId).toProperty("createUserId")
+ .map(createTime).toProperty("createTime")
+ .map(updateUserId).toProperty("updateUserId")
+ .map(updateTime).toProperty("updateTime")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookCategory record) {
+ return MyBatis3Utils.insert(this::insert, record, bookCategory, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(workDirection).toPropertyWhenPresent("workDirection", record::getWorkDirection)
+ .map(name).toPropertyWhenPresent("name", record::getName)
+ .map(sort).toPropertyWhenPresent("sort", record::getSort)
+ .map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(updateUserId).toPropertyWhenPresent("updateUserId", record::getUpdateUserId)
+ .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Integer id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookCategory, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(BookCategory record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(workDirection).equalTo(record::getWorkDirection)
+ .set(name).equalTo(record::getName)
+ .set(sort).equalTo(record::getSort)
+ .set(createUserId).equalTo(record::getCreateUserId)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(updateUserId).equalTo(record::getUpdateUserId)
+ .set(updateTime).equalTo(record::getUpdateTime);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(BookCategory record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(name).equalToWhenPresent(record::getName)
+ .set(sort).equalToWhenPresent(record::getSort)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(updateUserId).equalToWhenPresent(record::getUpdateUserId)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(BookCategory record) {
+ return update(c ->
+ c.set(workDirection).equalTo(record::getWorkDirection)
+ .set(name).equalTo(record::getName)
+ .set(sort).equalTo(record::getSort)
+ .set(createUserId).equalTo(record::getCreateUserId)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(updateUserId).equalTo(record::getUpdateUserId)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(BookCategory record) {
+ return update(c ->
+ c.set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(name).equalToWhenPresent(record::getName)
+ .set(sort).equalToWhenPresent(record::getSort)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(updateUserId).equalToWhenPresent(record::getUpdateUserId)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentDynamicSqlSupport.java
new file mode 100644
index 0000000..cc0fd4a
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentDynamicSqlSupport.java
@@ -0,0 +1,54 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookCommentDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookComment bookComment = new BookComment();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookComment.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookId = bookComment.bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn commentContent = bookComment.commentContent;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn replyCount = bookComment.replyCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn auditStatus = bookComment.auditStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = bookComment.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createUserId = bookComment.createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookComment extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn bookId = column("book_id", JDBCType.BIGINT);
+
+ public final SqlColumn commentContent = column("comment_content", JDBCType.VARCHAR);
+
+ public final SqlColumn replyCount = column("reply_count", JDBCType.INTEGER);
+
+ public final SqlColumn auditStatus = column("audit_status", JDBCType.TINYINT);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn createUserId = column("create_user_id", JDBCType.BIGINT);
+
+ public BookComment() {
+ super("book_comment");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentMapper.java
new file mode 100644
index 0000000..2ba063e
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookCommentMapper.java
@@ -0,0 +1,203 @@
+package com.java2nb.novel.mapper;
+
+import com.java2nb.novel.entity.BookComment;
+import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+import javax.annotation.Generated;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+
+import static com.java2nb.novel.mapper.BookCommentDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
+
+@Mapper
+public interface BookCommentMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, bookId, commentContent, replyCount, auditStatus, createTime, createUserId);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookCommentResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookCommentResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="book_id", property="bookId", jdbcType=JdbcType.BIGINT),
+ @Result(column="comment_content", property="commentContent", jdbcType=JdbcType.VARCHAR),
+ @Result(column="reply_count", property="replyCount", jdbcType=JdbcType.INTEGER),
+ @Result(column="audit_status", property="auditStatus", jdbcType=JdbcType.TINYINT),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookComment record) {
+ return MyBatis3Utils.insert(this::insert, record, bookComment, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(commentContent).toProperty("commentContent")
+ .map(replyCount).toProperty("replyCount")
+ .map(auditStatus).toProperty("auditStatus")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookComment, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(commentContent).toProperty("commentContent")
+ .map(replyCount).toProperty("replyCount")
+ .map(auditStatus).toProperty("auditStatus")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookComment record) {
+ return MyBatis3Utils.insert(this::insert, record, bookComment, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(bookId).toPropertyWhenPresent("bookId", record::getBookId)
+ .map(commentContent).toPropertyWhenPresent("commentContent", record::getCommentContent)
+ .map(replyCount).toPropertyWhenPresent("replyCount", record::getReplyCount)
+ .map(auditStatus).toPropertyWhenPresent("auditStatus", record::getAuditStatus)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookComment, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(BookComment record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(bookId).equalTo(record::getBookId)
+ .set(commentContent).equalTo(record::getCommentContent)
+ .set(replyCount).equalTo(record::getReplyCount)
+ .set(auditStatus).equalTo(record::getAuditStatus)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(createUserId).equalTo(record::getCreateUserId);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(BookComment record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(bookId).equalToWhenPresent(record::getBookId)
+ .set(commentContent).equalToWhenPresent(record::getCommentContent)
+ .set(replyCount).equalToWhenPresent(record::getReplyCount)
+ .set(auditStatus).equalToWhenPresent(record::getAuditStatus)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(BookComment record) {
+ return update(c ->
+ c.set(bookId).equalTo(record::getBookId)
+ .set(commentContent).equalTo(record::getCommentContent)
+ .set(replyCount).equalTo(record::getReplyCount)
+ .set(auditStatus).equalTo(record::getAuditStatus)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(createUserId).equalTo(record::getCreateUserId)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(BookComment record) {
+ return update(c ->
+ c.set(bookId).equalToWhenPresent(record::getBookId)
+ .set(commentContent).equalToWhenPresent(record::getCommentContent)
+ .set(replyCount).equalToWhenPresent(record::getReplyCount)
+ .set(auditStatus).equalToWhenPresent(record::getAuditStatus)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(createUserId).equalToWhenPresent(record::getCreateUserId)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentDynamicSqlSupport.java
new file mode 100644
index 0000000..0e5d9fa
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentDynamicSqlSupport.java
@@ -0,0 +1,33 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookContentDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookContent bookContent = new BookContent();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookContent.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn indexId = bookContent.indexId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn content = bookContent.content;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookContent extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn indexId = column("index_id", JDBCType.BIGINT);
+
+ public final SqlColumn content = column("content", JDBCType.LONGVARCHAR);
+
+ public BookContent() {
+ super("book_content");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentMapper.java
new file mode 100644
index 0000000..51f9067
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookContentMapper.java
@@ -0,0 +1,176 @@
+package com.java2nb.novel.mapper;
+
+import static com.java2nb.novel.mapper.BookContentDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.*;
+
+import com.java2nb.novel.entity.BookContent;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Generated;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+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.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+@Mapper
+public interface BookContentMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, indexId, content);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookContentResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookContentResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="index_id", property="indexId", jdbcType=JdbcType.BIGINT),
+ @Result(column="content", property="content", jdbcType=JdbcType.LONGVARCHAR)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookContent record) {
+ return MyBatis3Utils.insert(this::insert, record, bookContent, c ->
+ c.map(id).toProperty("id")
+ .map(indexId).toProperty("indexId")
+ .map(content).toProperty("content")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookContent, c ->
+ c.map(id).toProperty("id")
+ .map(indexId).toProperty("indexId")
+ .map(content).toProperty("content")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookContent record) {
+ return MyBatis3Utils.insert(this::insert, record, bookContent, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(indexId).toPropertyWhenPresent("indexId", record::getIndexId)
+ .map(content).toPropertyWhenPresent("content", record::getContent)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookContent, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(BookContent record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(indexId).equalTo(record::getIndexId)
+ .set(content).equalTo(record::getContent);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(BookContent record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(indexId).equalToWhenPresent(record::getIndexId)
+ .set(content).equalToWhenPresent(record::getContent);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(BookContent record) {
+ return update(c ->
+ c.set(indexId).equalTo(record::getIndexId)
+ .set(content).equalTo(record::getContent)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(BookContent record) {
+ return update(c ->
+ c.set(indexId).equalToWhenPresent(record::getIndexId)
+ .set(content).equalToWhenPresent(record::getContent)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookDynamicSqlSupport.java
new file mode 100644
index 0000000..a16ba20
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookDynamicSqlSupport.java
@@ -0,0 +1,144 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final Book book = new Book();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = book.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn workDirection = book.workDirection;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn catId = book.catId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn catName = book.catName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn picUrl = book.picUrl;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookName = book.bookName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn authorId = book.authorId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn authorName = book.authorName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookDesc = book.bookDesc;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn score = book.score;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookStatus = book.bookStatus;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn visitCount = book.visitCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn wordCount = book.wordCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn commentCount = book.commentCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn lastIndexId = book.lastIndexId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn lastIndexName = book.lastIndexName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn lastIndexUpdateTime = book.lastIndexUpdateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn isVip = book.isVip;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn status = book.status;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateTime = book.updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = book.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn crawlSourceId = book.crawlSourceId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn crawlBookId = book.crawlBookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn crawlLastTime = book.crawlLastTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn crawlIsStop = book.crawlIsStop;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class Book extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn workDirection = column("work_direction", JDBCType.TINYINT);
+
+ public final SqlColumn catId = column("cat_id", JDBCType.INTEGER);
+
+ public final SqlColumn catName = column("cat_name", JDBCType.VARCHAR);
+
+ public final SqlColumn picUrl = column("pic_url", JDBCType.VARCHAR);
+
+ public final SqlColumn bookName = column("book_name", JDBCType.VARCHAR);
+
+ public final SqlColumn authorId = column("author_id", JDBCType.BIGINT);
+
+ public final SqlColumn authorName = column("author_name", JDBCType.VARCHAR);
+
+ public final SqlColumn bookDesc = column("book_desc", JDBCType.VARCHAR);
+
+ public final SqlColumn score = column("score", JDBCType.REAL);
+
+ public final SqlColumn bookStatus = column("book_status", JDBCType.TINYINT);
+
+ public final SqlColumn visitCount = column("visit_count", JDBCType.BIGINT);
+
+ public final SqlColumn wordCount = column("word_count", JDBCType.INTEGER);
+
+ public final SqlColumn commentCount = column("comment_count", JDBCType.INTEGER);
+
+ public final SqlColumn lastIndexId = column("last_index_id", JDBCType.BIGINT);
+
+ public final SqlColumn lastIndexName = column("last_index_name", JDBCType.VARCHAR);
+
+ public final SqlColumn lastIndexUpdateTime = column("last_index_update_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn isVip = column("is_vip", JDBCType.TINYINT);
+
+ public final SqlColumn status = column("status", JDBCType.TINYINT);
+
+ public final SqlColumn updateTime = column("update_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn crawlSourceId = column("crawl_source_id", JDBCType.INTEGER);
+
+ public final SqlColumn crawlBookId = column("crawl_book_id", JDBCType.VARCHAR);
+
+ public final SqlColumn crawlLastTime = column("crawl_last_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn crawlIsStop = column("crawl_is_stop", JDBCType.TINYINT);
+
+ public Book() {
+ super("book");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexDynamicSqlSupport.java
new file mode 100644
index 0000000..a6a1155
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexDynamicSqlSupport.java
@@ -0,0 +1,59 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookIndexDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookIndex bookIndex = new BookIndex();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookIndex.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookId = bookIndex.bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn indexNum = bookIndex.indexNum;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn indexName = bookIndex.indexName;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn wordCount = bookIndex.wordCount;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn isVip = bookIndex.isVip;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = bookIndex.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateTime = bookIndex.updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookIndex extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn bookId = column("book_id", JDBCType.BIGINT);
+
+ public final SqlColumn indexNum = column("index_num", JDBCType.INTEGER);
+
+ public final SqlColumn indexName = column("index_name", JDBCType.VARCHAR);
+
+ public final SqlColumn wordCount = column("word_count", JDBCType.INTEGER);
+
+ public final SqlColumn isVip = column("is_vip", JDBCType.TINYINT);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn updateTime = column("update_time", JDBCType.TIMESTAMP);
+
+ public BookIndex() {
+ super("book_index");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexMapper.java
new file mode 100644
index 0000000..2423a4b
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookIndexMapper.java
@@ -0,0 +1,216 @@
+package com.java2nb.novel.mapper;
+
+import static com.java2nb.novel.mapper.BookIndexDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.*;
+
+import com.java2nb.novel.entity.BookIndex;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Generated;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+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.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+@Mapper
+public interface BookIndexMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, bookId, indexNum, indexName, wordCount, isVip, createTime, updateTime);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookIndexResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookIndexResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="book_id", property="bookId", jdbcType=JdbcType.BIGINT),
+ @Result(column="index_num", property="indexNum", jdbcType=JdbcType.INTEGER),
+ @Result(column="index_name", property="indexName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="word_count", property="wordCount", jdbcType=JdbcType.INTEGER),
+ @Result(column="is_vip", property="isVip", jdbcType=JdbcType.TINYINT),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookIndex record) {
+ return MyBatis3Utils.insert(this::insert, record, bookIndex, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(indexNum).toProperty("indexNum")
+ .map(indexName).toProperty("indexName")
+ .map(wordCount).toProperty("wordCount")
+ .map(isVip).toProperty("isVip")
+ .map(createTime).toProperty("createTime")
+ .map(updateTime).toProperty("updateTime")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookIndex, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(indexNum).toProperty("indexNum")
+ .map(indexName).toProperty("indexName")
+ .map(wordCount).toProperty("wordCount")
+ .map(isVip).toProperty("isVip")
+ .map(createTime).toProperty("createTime")
+ .map(updateTime).toProperty("updateTime")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookIndex record) {
+ return MyBatis3Utils.insert(this::insert, record, bookIndex, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(bookId).toPropertyWhenPresent("bookId", record::getBookId)
+ .map(indexNum).toPropertyWhenPresent("indexNum", record::getIndexNum)
+ .map(indexName).toPropertyWhenPresent("indexName", record::getIndexName)
+ .map(wordCount).toPropertyWhenPresent("wordCount", record::getWordCount)
+ .map(isVip).toPropertyWhenPresent("isVip", record::getIsVip)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookIndex, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(BookIndex record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(bookId).equalTo(record::getBookId)
+ .set(indexNum).equalTo(record::getIndexNum)
+ .set(indexName).equalTo(record::getIndexName)
+ .set(wordCount).equalTo(record::getWordCount)
+ .set(isVip).equalTo(record::getIsVip)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(updateTime).equalTo(record::getUpdateTime);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(BookIndex record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(bookId).equalToWhenPresent(record::getBookId)
+ .set(indexNum).equalToWhenPresent(record::getIndexNum)
+ .set(indexName).equalToWhenPresent(record::getIndexName)
+ .set(wordCount).equalToWhenPresent(record::getWordCount)
+ .set(isVip).equalToWhenPresent(record::getIsVip)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(BookIndex record) {
+ return update(c ->
+ c.set(bookId).equalTo(record::getBookId)
+ .set(indexNum).equalTo(record::getIndexNum)
+ .set(indexName).equalTo(record::getIndexName)
+ .set(wordCount).equalTo(record::getWordCount)
+ .set(isVip).equalTo(record::getIsVip)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(BookIndex record) {
+ return update(c ->
+ c.set(bookId).equalToWhenPresent(record::getBookId)
+ .set(indexNum).equalToWhenPresent(record::getIndexNum)
+ .set(indexName).equalToWhenPresent(record::getIndexName)
+ .set(wordCount).equalToWhenPresent(record::getWordCount)
+ .set(isVip).equalToWhenPresent(record::getIsVip)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookMapper.java
new file mode 100644
index 0000000..aba5556
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookMapper.java
@@ -0,0 +1,352 @@
+package com.java2nb.novel.mapper;
+
+import static com.java2nb.novel.mapper.BookDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.*;
+
+import com.java2nb.novel.entity.Book;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Generated;
+import org.apache.ibatis.annotations.DeleteProvider;
+import org.apache.ibatis.annotations.InsertProvider;
+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.annotations.UpdateProvider;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+@Mapper
+public interface BookMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, workDirection, catId, catName, picUrl, bookName, authorId, authorName, bookDesc, score, bookStatus, visitCount, wordCount, commentCount, lastIndexId, lastIndexName, lastIndexUpdateTime, isVip, status, updateTime, createTime, crawlSourceId, crawlBookId, crawlLastTime, crawlIsStop);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="work_direction", property="workDirection", jdbcType=JdbcType.TINYINT),
+ @Result(column="cat_id", property="catId", jdbcType=JdbcType.INTEGER),
+ @Result(column="cat_name", property="catName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="pic_url", property="picUrl", jdbcType=JdbcType.VARCHAR),
+ @Result(column="book_name", property="bookName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="author_id", property="authorId", jdbcType=JdbcType.BIGINT),
+ @Result(column="author_name", property="authorName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="book_desc", property="bookDesc", jdbcType=JdbcType.VARCHAR),
+ @Result(column="score", property="score", jdbcType=JdbcType.REAL),
+ @Result(column="book_status", property="bookStatus", jdbcType=JdbcType.TINYINT),
+ @Result(column="visit_count", property="visitCount", jdbcType=JdbcType.BIGINT),
+ @Result(column="word_count", property="wordCount", jdbcType=JdbcType.INTEGER),
+ @Result(column="comment_count", property="commentCount", jdbcType=JdbcType.INTEGER),
+ @Result(column="last_index_id", property="lastIndexId", jdbcType=JdbcType.BIGINT),
+ @Result(column="last_index_name", property="lastIndexName", jdbcType=JdbcType.VARCHAR),
+ @Result(column="last_index_update_time", property="lastIndexUpdateTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="is_vip", property="isVip", jdbcType=JdbcType.TINYINT),
+ @Result(column="status", property="status", jdbcType=JdbcType.TINYINT),
+ @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="crawl_source_id", property="crawlSourceId", jdbcType=JdbcType.INTEGER),
+ @Result(column="crawl_book_id", property="crawlBookId", jdbcType=JdbcType.VARCHAR),
+ @Result(column="crawl_last_time", property="crawlLastTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="crawl_is_stop", property="crawlIsStop", jdbcType=JdbcType.TINYINT)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(Book record) {
+ return MyBatis3Utils.insert(this::insert, record, book, c ->
+ c.map(id).toProperty("id")
+ .map(workDirection).toProperty("workDirection")
+ .map(catId).toProperty("catId")
+ .map(catName).toProperty("catName")
+ .map(picUrl).toProperty("picUrl")
+ .map(bookName).toProperty("bookName")
+ .map(authorId).toProperty("authorId")
+ .map(authorName).toProperty("authorName")
+ .map(bookDesc).toProperty("bookDesc")
+ .map(score).toProperty("score")
+ .map(bookStatus).toProperty("bookStatus")
+ .map(visitCount).toProperty("visitCount")
+ .map(wordCount).toProperty("wordCount")
+ .map(commentCount).toProperty("commentCount")
+ .map(lastIndexId).toProperty("lastIndexId")
+ .map(lastIndexName).toProperty("lastIndexName")
+ .map(lastIndexUpdateTime).toProperty("lastIndexUpdateTime")
+ .map(isVip).toProperty("isVip")
+ .map(status).toProperty("status")
+ .map(updateTime).toProperty("updateTime")
+ .map(createTime).toProperty("createTime")
+ .map(crawlSourceId).toProperty("crawlSourceId")
+ .map(crawlBookId).toProperty("crawlBookId")
+ .map(crawlLastTime).toProperty("crawlLastTime")
+ .map(crawlIsStop).toProperty("crawlIsStop")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, book, c ->
+ c.map(id).toProperty("id")
+ .map(workDirection).toProperty("workDirection")
+ .map(catId).toProperty("catId")
+ .map(catName).toProperty("catName")
+ .map(picUrl).toProperty("picUrl")
+ .map(bookName).toProperty("bookName")
+ .map(authorId).toProperty("authorId")
+ .map(authorName).toProperty("authorName")
+ .map(bookDesc).toProperty("bookDesc")
+ .map(score).toProperty("score")
+ .map(bookStatus).toProperty("bookStatus")
+ .map(visitCount).toProperty("visitCount")
+ .map(wordCount).toProperty("wordCount")
+ .map(commentCount).toProperty("commentCount")
+ .map(lastIndexId).toProperty("lastIndexId")
+ .map(lastIndexName).toProperty("lastIndexName")
+ .map(lastIndexUpdateTime).toProperty("lastIndexUpdateTime")
+ .map(isVip).toProperty("isVip")
+ .map(status).toProperty("status")
+ .map(updateTime).toProperty("updateTime")
+ .map(createTime).toProperty("createTime")
+ .map(crawlSourceId).toProperty("crawlSourceId")
+ .map(crawlBookId).toProperty("crawlBookId")
+ .map(crawlLastTime).toProperty("crawlLastTime")
+ .map(crawlIsStop).toProperty("crawlIsStop")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(Book record) {
+ return MyBatis3Utils.insert(this::insert, record, book, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(workDirection).toPropertyWhenPresent("workDirection", record::getWorkDirection)
+ .map(catId).toPropertyWhenPresent("catId", record::getCatId)
+ .map(catName).toPropertyWhenPresent("catName", record::getCatName)
+ .map(picUrl).toPropertyWhenPresent("picUrl", record::getPicUrl)
+ .map(bookName).toPropertyWhenPresent("bookName", record::getBookName)
+ .map(authorId).toPropertyWhenPresent("authorId", record::getAuthorId)
+ .map(authorName).toPropertyWhenPresent("authorName", record::getAuthorName)
+ .map(bookDesc).toPropertyWhenPresent("bookDesc", record::getBookDesc)
+ .map(score).toPropertyWhenPresent("score", record::getScore)
+ .map(bookStatus).toPropertyWhenPresent("bookStatus", record::getBookStatus)
+ .map(visitCount).toPropertyWhenPresent("visitCount", record::getVisitCount)
+ .map(wordCount).toPropertyWhenPresent("wordCount", record::getWordCount)
+ .map(commentCount).toPropertyWhenPresent("commentCount", record::getCommentCount)
+ .map(lastIndexId).toPropertyWhenPresent("lastIndexId", record::getLastIndexId)
+ .map(lastIndexName).toPropertyWhenPresent("lastIndexName", record::getLastIndexName)
+ .map(lastIndexUpdateTime).toPropertyWhenPresent("lastIndexUpdateTime", record::getLastIndexUpdateTime)
+ .map(isVip).toPropertyWhenPresent("isVip", record::getIsVip)
+ .map(status).toPropertyWhenPresent("status", record::getStatus)
+ .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(crawlSourceId).toPropertyWhenPresent("crawlSourceId", record::getCrawlSourceId)
+ .map(crawlBookId).toPropertyWhenPresent("crawlBookId", record::getCrawlBookId)
+ .map(crawlLastTime).toPropertyWhenPresent("crawlLastTime", record::getCrawlLastTime)
+ .map(crawlIsStop).toPropertyWhenPresent("crawlIsStop", record::getCrawlIsStop)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, book, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateAllColumns(Book record, UpdateDSL dsl) {
+ return dsl.set(id).equalTo(record::getId)
+ .set(workDirection).equalTo(record::getWorkDirection)
+ .set(catId).equalTo(record::getCatId)
+ .set(catName).equalTo(record::getCatName)
+ .set(picUrl).equalTo(record::getPicUrl)
+ .set(bookName).equalTo(record::getBookName)
+ .set(authorId).equalTo(record::getAuthorId)
+ .set(authorName).equalTo(record::getAuthorName)
+ .set(bookDesc).equalTo(record::getBookDesc)
+ .set(score).equalTo(record::getScore)
+ .set(bookStatus).equalTo(record::getBookStatus)
+ .set(visitCount).equalTo(record::getVisitCount)
+ .set(wordCount).equalTo(record::getWordCount)
+ .set(commentCount).equalTo(record::getCommentCount)
+ .set(lastIndexId).equalTo(record::getLastIndexId)
+ .set(lastIndexName).equalTo(record::getLastIndexName)
+ .set(lastIndexUpdateTime).equalTo(record::getLastIndexUpdateTime)
+ .set(isVip).equalTo(record::getIsVip)
+ .set(status).equalTo(record::getStatus)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(crawlSourceId).equalTo(record::getCrawlSourceId)
+ .set(crawlBookId).equalTo(record::getCrawlBookId)
+ .set(crawlLastTime).equalTo(record::getCrawlLastTime)
+ .set(crawlIsStop).equalTo(record::getCrawlIsStop);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL updateSelectiveColumns(Book record, UpdateDSL dsl) {
+ return dsl.set(id).equalToWhenPresent(record::getId)
+ .set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(catId).equalToWhenPresent(record::getCatId)
+ .set(catName).equalToWhenPresent(record::getCatName)
+ .set(picUrl).equalToWhenPresent(record::getPicUrl)
+ .set(bookName).equalToWhenPresent(record::getBookName)
+ .set(authorId).equalToWhenPresent(record::getAuthorId)
+ .set(authorName).equalToWhenPresent(record::getAuthorName)
+ .set(bookDesc).equalToWhenPresent(record::getBookDesc)
+ .set(score).equalToWhenPresent(record::getScore)
+ .set(bookStatus).equalToWhenPresent(record::getBookStatus)
+ .set(visitCount).equalToWhenPresent(record::getVisitCount)
+ .set(wordCount).equalToWhenPresent(record::getWordCount)
+ .set(commentCount).equalToWhenPresent(record::getCommentCount)
+ .set(lastIndexId).equalToWhenPresent(record::getLastIndexId)
+ .set(lastIndexName).equalToWhenPresent(record::getLastIndexName)
+ .set(lastIndexUpdateTime).equalToWhenPresent(record::getLastIndexUpdateTime)
+ .set(isVip).equalToWhenPresent(record::getIsVip)
+ .set(status).equalToWhenPresent(record::getStatus)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(crawlSourceId).equalToWhenPresent(record::getCrawlSourceId)
+ .set(crawlBookId).equalToWhenPresent(record::getCrawlBookId)
+ .set(crawlLastTime).equalToWhenPresent(record::getCrawlLastTime)
+ .set(crawlIsStop).equalToWhenPresent(record::getCrawlIsStop);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKey(Book record) {
+ return update(c ->
+ c.set(workDirection).equalTo(record::getWorkDirection)
+ .set(catId).equalTo(record::getCatId)
+ .set(catName).equalTo(record::getCatName)
+ .set(picUrl).equalTo(record::getPicUrl)
+ .set(bookName).equalTo(record::getBookName)
+ .set(authorId).equalTo(record::getAuthorId)
+ .set(authorName).equalTo(record::getAuthorName)
+ .set(bookDesc).equalTo(record::getBookDesc)
+ .set(score).equalTo(record::getScore)
+ .set(bookStatus).equalTo(record::getBookStatus)
+ .set(visitCount).equalTo(record::getVisitCount)
+ .set(wordCount).equalTo(record::getWordCount)
+ .set(commentCount).equalTo(record::getCommentCount)
+ .set(lastIndexId).equalTo(record::getLastIndexId)
+ .set(lastIndexName).equalTo(record::getLastIndexName)
+ .set(lastIndexUpdateTime).equalTo(record::getLastIndexUpdateTime)
+ .set(isVip).equalTo(record::getIsVip)
+ .set(status).equalTo(record::getStatus)
+ .set(updateTime).equalTo(record::getUpdateTime)
+ .set(createTime).equalTo(record::getCreateTime)
+ .set(crawlSourceId).equalTo(record::getCrawlSourceId)
+ .set(crawlBookId).equalTo(record::getCrawlBookId)
+ .set(crawlLastTime).equalTo(record::getCrawlLastTime)
+ .set(crawlIsStop).equalTo(record::getCrawlIsStop)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int updateByPrimaryKeySelective(Book record) {
+ return update(c ->
+ c.set(workDirection).equalToWhenPresent(record::getWorkDirection)
+ .set(catId).equalToWhenPresent(record::getCatId)
+ .set(catName).equalToWhenPresent(record::getCatName)
+ .set(picUrl).equalToWhenPresent(record::getPicUrl)
+ .set(bookName).equalToWhenPresent(record::getBookName)
+ .set(authorId).equalToWhenPresent(record::getAuthorId)
+ .set(authorName).equalToWhenPresent(record::getAuthorName)
+ .set(bookDesc).equalToWhenPresent(record::getBookDesc)
+ .set(score).equalToWhenPresent(record::getScore)
+ .set(bookStatus).equalToWhenPresent(record::getBookStatus)
+ .set(visitCount).equalToWhenPresent(record::getVisitCount)
+ .set(wordCount).equalToWhenPresent(record::getWordCount)
+ .set(commentCount).equalToWhenPresent(record::getCommentCount)
+ .set(lastIndexId).equalToWhenPresent(record::getLastIndexId)
+ .set(lastIndexName).equalToWhenPresent(record::getLastIndexName)
+ .set(lastIndexUpdateTime).equalToWhenPresent(record::getLastIndexUpdateTime)
+ .set(isVip).equalToWhenPresent(record::getIsVip)
+ .set(status).equalToWhenPresent(record::getStatus)
+ .set(updateTime).equalToWhenPresent(record::getUpdateTime)
+ .set(createTime).equalToWhenPresent(record::getCreateTime)
+ .set(crawlSourceId).equalToWhenPresent(record::getCrawlSourceId)
+ .set(crawlBookId).equalToWhenPresent(record::getCrawlBookId)
+ .set(crawlLastTime).equalToWhenPresent(record::getCrawlLastTime)
+ .set(crawlIsStop).equalToWhenPresent(record::getCrawlIsStop)
+ .where(id, isEqualTo(record::getId))
+ );
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingDynamicSqlSupport.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingDynamicSqlSupport.java
new file mode 100644
index 0000000..e82ab8e
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingDynamicSqlSupport.java
@@ -0,0 +1,59 @@
+package com.java2nb.novel.mapper;
+
+import java.sql.JDBCType;
+import java.util.Date;
+import javax.annotation.Generated;
+import org.mybatis.dynamic.sql.SqlColumn;
+import org.mybatis.dynamic.sql.SqlTable;
+
+public final class BookSettingDynamicSqlSupport {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final BookSetting bookSetting = new BookSetting();
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn id = bookSetting.id;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn bookId = bookSetting.bookId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn sort = bookSetting.sort;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn type = bookSetting.type;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createTime = bookSetting.createTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn createUserId = bookSetting.createUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateTime = bookSetting.updateTime;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final SqlColumn updateUserId = bookSetting.updateUserId;
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ public static final class BookSetting extends SqlTable {
+ public final SqlColumn id = column("id", JDBCType.BIGINT);
+
+ public final SqlColumn bookId = column("book_id", JDBCType.BIGINT);
+
+ public final SqlColumn sort = column("sort", JDBCType.TINYINT);
+
+ public final SqlColumn type = column("type", JDBCType.TINYINT);
+
+ public final SqlColumn createTime = column("create_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn createUserId = column("create_user_id", JDBCType.BIGINT);
+
+ public final SqlColumn updateTime = column("update_time", JDBCType.TIMESTAMP);
+
+ public final SqlColumn updateUserId = column("update_user_id", JDBCType.BIGINT);
+
+ public BookSetting() {
+ super("book_setting");
+ }
+ }
+}
\ No newline at end of file
diff --git a/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingMapper.java b/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingMapper.java
new file mode 100644
index 0000000..bf6e0ce
--- /dev/null
+++ b/novel-common/src/main/java/com/java2nb/novel/mapper/BookSettingMapper.java
@@ -0,0 +1,212 @@
+package com.java2nb.novel.mapper;
+
+import com.java2nb.novel.entity.BookSetting;
+import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.dynamic.sql.BasicColumn;
+import org.mybatis.dynamic.sql.delete.DeleteDSLCompleter;
+import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
+import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
+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.update.render.UpdateStatementProvider;
+import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
+import org.mybatis.dynamic.sql.util.mybatis3.MyBatis3Utils;
+
+import javax.annotation.Generated;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+
+import static com.java2nb.novel.mapper.BookSettingDynamicSqlSupport.*;
+import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
+
+@Mapper
+public interface BookSettingMapper {
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ BasicColumn[] selectList = BasicColumn.columnList(id, bookId, sort, type, createTime, createUserId, updateTime, updateUserId);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ long count(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
+ int delete(DeleteStatementProvider deleteStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insert")
+ int insert(InsertStatementProvider insertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @InsertProvider(type=SqlProviderAdapter.class, method="insertMultiple")
+ int insertMultiple(MultiRowInsertStatementProvider multipleInsertStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @ResultMap("BookSettingResult")
+ Optional selectOne(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @SelectProvider(type=SqlProviderAdapter.class, method="select")
+ @Results(id="BookSettingResult", value = {
+ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+ @Result(column="book_id", property="bookId", jdbcType=JdbcType.BIGINT),
+ @Result(column="sort", property="sort", jdbcType=JdbcType.TINYINT),
+ @Result(column="type", property="type", jdbcType=JdbcType.TINYINT),
+ @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="create_user_id", property="createUserId", jdbcType=JdbcType.BIGINT),
+ @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+ @Result(column="update_user_id", property="updateUserId", jdbcType=JdbcType.BIGINT)
+ })
+ List selectMany(SelectStatementProvider selectStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ @UpdateProvider(type=SqlProviderAdapter.class, method="update")
+ int update(UpdateStatementProvider updateStatement);
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default long count(CountDSLCompleter completer) {
+ return MyBatis3Utils.countFrom(this::count, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int delete(DeleteDSLCompleter completer) {
+ return MyBatis3Utils.deleteFrom(this::delete, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int deleteByPrimaryKey(Long id_) {
+ return delete(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insert(BookSetting record) {
+ return MyBatis3Utils.insert(this::insert, record, bookSetting, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(sort).toProperty("sort")
+ .map(type).toProperty("type")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ .map(updateTime).toProperty("updateTime")
+ .map(updateUserId).toProperty("updateUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertMultiple(Collection records) {
+ return MyBatis3Utils.insertMultiple(this::insertMultiple, records, bookSetting, c ->
+ c.map(id).toProperty("id")
+ .map(bookId).toProperty("bookId")
+ .map(sort).toProperty("sort")
+ .map(type).toProperty("type")
+ .map(createTime).toProperty("createTime")
+ .map(createUserId).toProperty("createUserId")
+ .map(updateTime).toProperty("updateTime")
+ .map(updateUserId).toProperty("updateUserId")
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int insertSelective(BookSetting record) {
+ return MyBatis3Utils.insert(this::insert, record, bookSetting, c ->
+ c.map(id).toPropertyWhenPresent("id", record::getId)
+ .map(bookId).toPropertyWhenPresent("bookId", record::getBookId)
+ .map(sort).toPropertyWhenPresent("sort", record::getSort)
+ .map(type).toPropertyWhenPresent("type", record::getType)
+ .map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
+ .map(createUserId).toPropertyWhenPresent("createUserId", record::getCreateUserId)
+ .map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
+ .map(updateUserId).toPropertyWhenPresent("updateUserId", record::getUpdateUserId)
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectOne(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectOne(this::selectOne, selectList, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List select(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectList(this::selectMany, selectList, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default List selectDistinct(SelectDSLCompleter completer) {
+ return MyBatis3Utils.selectDistinct(this::selectMany, selectList, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default Optional selectByPrimaryKey(Long id_) {
+ return selectOne(c ->
+ c.where(id, isEqualTo(id_))
+ );
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ default int update(UpdateDSLCompleter completer) {
+ return MyBatis3Utils.update(this::update, bookSetting, completer);
+ }
+
+ @Generated("org.mybatis.generator.api.MyBatisGenerator")
+ static UpdateDSL