diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..249d5b2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,72 @@ +# Created by .ignore support plugin (hsz.mobi) +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +# Gradle: +.idea/**/gradle.xml +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties +### Java template +# Compiled class file +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# custom +*.iml + +**/target diff --git a/Dubbo-Demo/Service-Client/pom.xml b/Dubbo-Demo/Service-Client/pom.xml new file mode 100644 index 0000000..bac9551 --- /dev/null +++ b/Dubbo-Demo/Service-Client/pom.xml @@ -0,0 +1,14 @@ + + + + cn.mrdear.dubbo + Dubbo-Demo + 1.0.0 + + 4.0.0 + Service-Client + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java b/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java new file mode 100644 index 0000000..72dd1ce --- /dev/null +++ b/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java @@ -0,0 +1,31 @@ +package cn.mrdear.client.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户DTO,用于Service层传输 + * @author Niu Li + * @since 2017/6/12 + */ +@Data +public class UserDTO implements Serializable{ + + private static final long serialVersionUID = 4086492518942464226L; + + private Long id; + + private String username; + + private String password; + + private Integer age; + + private String nickname; + + private String mail; + + private String memo; + +} diff --git a/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java b/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java new file mode 100644 index 0000000..1edd92f --- /dev/null +++ b/Dubbo-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java @@ -0,0 +1,37 @@ +package cn.mrdear.client.service; + +import cn.mrdear.client.dto.UserDTO; + +import java.util.Collection; +import java.util.List; + +/** + * 用户服务,一般都会在返回层再包裹一层,这里简而化之 + * @author Niu Li + * @since 2017/6/12 + */ +public interface IUserService { + + /** + * 根据id查找 + */ + UserDTO findById(Long id); + + /** + * 根据id批量查询 + */ + List queryByIds(Collection ids); + + /** + * 更新用户 + * @return 返回更新后的实体 + */ + UserDTO updateById(UserDTO userDTO); + + /** + * 根据id删除用户 + */ + Boolean deleteById(Long id); + + +} diff --git a/Dubbo-Demo/Service-Consumer/pom.xml b/Dubbo-Demo/Service-Consumer/pom.xml new file mode 100644 index 0000000..c8ba829 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/pom.xml @@ -0,0 +1,99 @@ + + + + cn.mrdear.dubbo + Dubbo-Demo + 1.0.0 + + war + 4.0.0 + Service-Consumer + + + + + cn.mrdear.dubbo + Service-Client + 1.0.0 + + + + com.netflix.hystrix + hystrix-javanica + 1.5.12 + + + + com.fasterxml.jackson.core + jackson-annotations + 2.8.1 + + + com.fasterxml.jackson.core + jackson-core + 2.8.6 + + + com.fasterxml.jackson.core + jackson-databind + 2.8.6 + + + + org.springframework + spring-context + 4.3.2.RELEASE + + + org.springframework + spring-webmvc + 4.3.2.RELEASE + + + + javax.servlet + jstl + 1.2 + runtime + + + org.springframework + spring-web + 4.3.2.RELEASE + + + org.springframework + spring-test + 4.3.2.RELEASE + + + + com.alibaba + dubbo + 2.5.3 + + + spring + org.springframework + + + + + com.101tec + zkclient + 0.10 + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/controller/UserController.java b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/controller/UserController.java new file mode 100644 index 0000000..9593c2d --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/controller/UserController.java @@ -0,0 +1,27 @@ +package cn.mrdear.consumer.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.consumer.manager.UserManager; + +import javax.annotation.Resource; + +/** + * @author Niu Li + * @since 2017/6/14 + */ +@RestController +public class UserController { + + @Resource + private UserManager userManager; + + @GetMapping("/user/{id}") + public UserDTO getUserById(@PathVariable Long id) { + UserDTO userDTO = userManager.findById(id); + return userDTO; + } +} diff --git a/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/UserManager.java b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/UserManager.java new file mode 100644 index 0000000..900368e --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/UserManager.java @@ -0,0 +1,17 @@ +package cn.mrdear.consumer.manager; + +import cn.mrdear.client.dto.UserDTO; + +/** + * manager + * @author Niu Li + * @since 2017/6/13 + */ + +public interface UserManager { + + UserDTO findById(Long id); + + UserDTO findByIdBack(Long id); + +} diff --git a/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/impl/UserManagerImpl.java b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/impl/UserManagerImpl.java new file mode 100644 index 0000000..572c407 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/manager/impl/UserManagerImpl.java @@ -0,0 +1,51 @@ +package cn.mrdear.consumer.manager.impl; + +import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; + +import org.springframework.stereotype.Service; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.client.service.IUserService; +import cn.mrdear.consumer.manager.UserManager; + +import javax.annotation.Resource; + +import java.util.Objects; + +/** + * manager调用远程RPC组装数据,此处调试只是再加一层封装 + * @author Niu Li + * @since 2017/6/13 + */ +@Service +public class UserManagerImpl implements UserManager { + + @Resource + private IUserService userService; + + @Override + @HystrixCommand(groupKey = "user", fallbackMethod = "findByIdBack") + public UserDTO findById(Long id) { + if (Objects.equals(id, 1L)) { + try { + Thread.sleep(1000000); + } catch (InterruptedException e) { + // do nothing + } + } + if (Objects.equals(id, 2L)) { + throw new RuntimeException("熔断测试"); + } + return userService.findById(id); + } + + public UserDTO findByIdBack(Long id) { + System.err.println("findByIdBack"); + UserDTO userDTO = new UserDTO(); + userDTO.setAge(1); + userDTO.setUsername("备用用户"); + return userDTO; + } + + +} diff --git a/Dubbo-Demo/Service-Consumer/src/main/resources/applicationContext.xml b/Dubbo-Demo/Service-Consumer/src/main/resources/applicationContext.xml new file mode 100644 index 0000000..4ddd015 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/resources/applicationContext.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Consumer/src/main/resources/dispatcher-servlet.xml b/Dubbo-Demo/Service-Consumer/src/main/resources/dispatcher-servlet.xml new file mode 100644 index 0000000..9b9a484 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/resources/dispatcher-servlet.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/view/error.jsp b/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/view/error.jsp new file mode 100644 index 0000000..e9ea535 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/view/error.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: niuli + Date: 2017/4/19 + Time: 09:45 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +

Error 页面

+ + diff --git a/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/web.xml b/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..f1339a6 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,65 @@ + + + + + + webAppRootKey + web.root + + + contextConfigLocation + classpath:applicationContext.xml + + + + + + encodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + + forceEncoding + true + + + + encodingFilter + /* + + + + org.springframework.web.util.WebAppRootListener + + + org.springframework.web.context.ContextLoaderListener + + + + org.springframework.web.util.IntrospectorCleanupListener + + + + + + dispatcher + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + + classpath:dispatcher-servlet.xml + + 1 + + + dispatcher + / + + + diff --git a/Dubbo-Demo/Service-Consumer/src/main/webapp/index.jsp b/Dubbo-Demo/Service-Consumer/src/main/webapp/index.jsp new file mode 100644 index 0000000..fa47f72 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/main/webapp/index.jsp @@ -0,0 +1,17 @@ +<%-- + Created by IntelliJ IDEA. + User: NL + Date: 2017/1/23 + Time: 9:09 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + +

Hello World!

+

请访问/user/{id}测试

+ + diff --git a/Dubbo-Demo/Service-Consumer/src/test/java/cn/mrdear/test/UserManagerTest.java b/Dubbo-Demo/Service-Consumer/src/test/java/cn/mrdear/test/UserManagerTest.java new file mode 100644 index 0000000..bfe506b --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/test/java/cn/mrdear/test/UserManagerTest.java @@ -0,0 +1,31 @@ +package cn.mrdear.test; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.consumer.manager.UserManager; + +import javax.annotation.Resource; + +/** + * @author Niu Li + * @since 2017/6/13 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath:applicationContext.xml") +public class UserManagerTest { + + @Resource + private UserManager userManager; + + + @Test + public void testFindById() { + UserDTO userDTO = userManager.findById(1L); + Assert.assertNotNull(userDTO); + } +} diff --git a/Dubbo-Demo/Service-Consumer/src/test/resources/applicationContext.xml b/Dubbo-Demo/Service-Consumer/src/test/resources/applicationContext.xml new file mode 100644 index 0000000..5a693f6 --- /dev/null +++ b/Dubbo-Demo/Service-Consumer/src/test/resources/applicationContext.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/pom.xml b/Dubbo-Demo/Service-Provider/pom.xml new file mode 100644 index 0000000..97f5cb5 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/pom.xml @@ -0,0 +1,120 @@ + + + + cn.mrdear.dubbo + Dubbo-Demo + 1.0.0 + + 4.0.0 + Service-Provider + + + + + cn.mrdear.dubbo + Service-Client + 1.0.0 + + + com.alibaba + dubbo + 2.5.3 + + + org.springframework + spring + + + org.javassist + javassist + + + + + com.101tec + zkclient + 0.10 + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.h2database + h2 + 1.4.187 + + + org.springframework + spring-context + 4.3.2.RELEASE + + + org.springframework + spring-test + 4.3.2.RELEASE + + + + org.aspectj + aspectjweaver + 1.8.6 + + + org.aspectj + aspectjrt + 1.8.6 + + + + + cglib + cglib + 3.2.2 + + + + + org.hibernate + hibernate-core + 5.1.0.Final + + + org.hibernate + hibernate-entitymanager + 5.1.0.Final + + + + + mysql + mysql-connector-java + 5.1.34 + + + + + com.alibaba + druid + 1.0.19 + + + + + + org.springframework.data + spring-data-jpa + 1.10.4.RELEASE + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/Application.java b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/Application.java new file mode 100644 index 0000000..cbebadb --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/Application.java @@ -0,0 +1,17 @@ +package cn.mrdear.provider; + +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import java.io.IOException; + +/** + * @author Niu Li + * @since 2017/6/12 + */ +public class Application { + public static void main(String[] args) throws IOException { + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); + context.start(); + System.in.read(); // 为保证服务一直开着,利用输入流的阻塞来模拟 + } +} diff --git a/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java new file mode 100644 index 0000000..67ae9ca --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java @@ -0,0 +1,42 @@ +package cn.mrdear.provider.convert; + +import org.springframework.beans.BeanUtils; +import org.springframework.util.CollectionUtils; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.provider.domain.User; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author Niu Li + * @since 2017/6/12 + */ +public class UserConvert { + + public static UserDTO toDTO(User user) { + UserDTO userDTO = new UserDTO(); + BeanUtils.copyProperties(user,userDTO); + return userDTO; + } + + + public static List toDTOS(List users) { + if (CollectionUtils.isEmpty(users)) { + return new ArrayList<>(1); + } + List results = new ArrayList<>(); + return users.stream().map(UserConvert::toDTO) + .collect(Collectors.toList()); + } + + + public static User toDO(UserDTO userDTO) { + User user = new User(); + BeanUtils.copyProperties(userDTO,user); + return user; + } + +} diff --git a/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java new file mode 100644 index 0000000..6b068b4 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java @@ -0,0 +1,24 @@ +package cn.mrdear.provider.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import cn.mrdear.provider.domain.User; + +import java.util.Collection; +import java.util.List; + +/** + * JPA repo层 + * @author Niu Li + * @since 2017/6/12 + */ +public interface UserRepository extends JpaRepository{ + + User findById(Long id); + + @Query("select p from User p where id in (?1)") + List queryByIds(Collection ids); + + +} diff --git a/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java new file mode 100644 index 0000000..81849e5 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java @@ -0,0 +1,39 @@ +package cn.mrdear.provider.domain; + +import lombok.Data; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import java.io.Serializable; + +/** + * 用户实体类,对应数据库 + * @author Niu Li + * @since 2017/6/12 + */ +@Data +@Entity +@Table(name = "user") +public class User implements Serializable{ + + private static final long serialVersionUID = 1793488098966504793L; + @Id + @GeneratedValue + private Long id; + + private String username; + + private String password; + + private Integer age; + + private String nickname; + + private String mail; + + private String memo; + +} diff --git a/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java new file mode 100644 index 0000000..082f809 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java @@ -0,0 +1,51 @@ +package cn.mrdear.provider.service; + +import com.alibaba.dubbo.config.annotation.Service; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.client.service.IUserService; +import cn.mrdear.provider.convert.UserConvert; +import cn.mrdear.provider.dao.UserRepository; +import cn.mrdear.provider.domain.User; + +import javax.annotation.Resource; + +import java.util.Collection; +import java.util.List; + +/** + * 用户服务的具体实现,作为服务提供方提供出去 + * @author Niu Li + * @since 2017/6/12 + */ +@Service(version = "1.0.0") +public class UserServiceImpl implements IUserService { + + @Resource + private UserRepository userRepository; + + @Override + public UserDTO findById(Long id) { + User user = userRepository.findById(id); + return UserConvert.toDTO(user); + } + + @Override + public List queryByIds(Collection ids) { + List users = userRepository.queryByIds(ids); + return UserConvert.toDTOS(users); + } + + @Override + public UserDTO updateById(UserDTO userDTO) { + User user = UserConvert.toDO(userDTO); + userRepository.save(user); + return this.findById(userDTO.getId()); + } + + @Override + public Boolean deleteById(Long id) { + userRepository.delete(id); + return true; + } +} diff --git a/Dubbo-Demo/Service-Provider/src/main/resources/applicationContext.xml b/Dubbo-Demo/Service-Provider/src/main/resources/applicationContext.xml new file mode 100644 index 0000000..c811fad --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/resources/applicationContext.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.hibernate.dialect.MySQL5Dialect + + false + + false + + false + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SSM--Demo/src/main/resources/db.properties b/Dubbo-Demo/Service-Provider/src/main/resources/db.properties similarity index 77% rename from SSM--Demo/src/main/resources/db.properties rename to Dubbo-Demo/Service-Provider/src/main/resources/db.properties index e0ed7fc..2228684 100644 --- a/SSM--Demo/src/main/resources/db.properties +++ b/Dubbo-Demo/Service-Provider/src/main/resources/db.properties @@ -1,5 +1,6 @@ jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/austoj?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 +jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm?useUnicode=true&characterEncoding=utf8&characterSetResults\ + =utf8 jdbc.username=root jdbc.password=7946521 diff --git a/Dubbo-Demo/Service-Provider/src/main/resources/h2/data.sql b/Dubbo-Demo/Service-Provider/src/main/resources/h2/data.sql new file mode 100644 index 0000000..a09f7a8 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/resources/h2/data.sql @@ -0,0 +1,6 @@ +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('zhangsan', + '123456', 18, '张三', '1111@qq.com', 'hahahah'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('lis', +'123456', 19, '李四', '123131@qq.com', 'xixiixxi'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('wanger', +'123456', 29, '王二', '12131984@qq.com', 'dqdh'); \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/main/resources/h2/schema.sql b/Dubbo-Demo/Service-Provider/src/main/resources/h2/schema.sql new file mode 100644 index 0000000..8de82c2 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/resources/h2/schema.sql @@ -0,0 +1,10 @@ +DROP TABLE user if exist; +create table user ( + id INT(11) AUTO_INCREMENT PRIMARY KEY , + username VARCHAR(255), + password VARCHAR(255), + age INT(3), + nickname VARCHAR(255), + mail VARCHAR(255), + memo VARCHAR(255), + ); \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/main/resources/logback.xml b/Dubbo-Demo/Service-Provider/src/main/resources/logback.xml new file mode 100644 index 0000000..d68cd15 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/main/resources/logback.xml @@ -0,0 +1,19 @@ + + + + + + + + %d{HH:mm:ss} [%t] %logger{5} [%line] %p - %msg%n + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/test/java/cn/mrdear/test/UserServiceTest.java b/Dubbo-Demo/Service-Provider/src/test/java/cn/mrdear/test/UserServiceTest.java new file mode 100644 index 0000000..3a50744 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/java/cn/mrdear/test/UserServiceTest.java @@ -0,0 +1,31 @@ +package cn.mrdear.test; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.provider.service.UserServiceImpl; + +import javax.annotation.Resource; + +/** + * @author Niu Li + * @since 2017/6/13 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath:applicationContext.xml") +public class UserServiceTest { + + @Resource + private UserServiceImpl userService; + + @Test + public void testFindById() { + UserDTO userDTO = userService.findById(1L); + Assert.assertNotNull(userDTO); + } + +} diff --git a/Dubbo-Demo/Service-Provider/src/test/resources/applicationContext.xml b/Dubbo-Demo/Service-Provider/src/test/resources/applicationContext.xml new file mode 100644 index 0000000..0192b9b --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/resources/applicationContext.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.hibernate.dialect.MySQL5Dialect + + false + + false + + false + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/test/resources/db.properties b/Dubbo-Demo/Service-Provider/src/test/resources/db.properties new file mode 100644 index 0000000..2228684 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/resources/db.properties @@ -0,0 +1,24 @@ +jdbc.driver=com.mysql.jdbc.Driver +jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm?useUnicode=true&characterEncoding=utf8&characterSetResults\ + =utf8 +jdbc.username=root +jdbc.password=7946521 + +filters:stat + +maxActive:20 +initialSize:1 +maxWait:60000 +minIdle:10 + +timeBetweenEvictionRunsMillis:60000 +minEvictableIdleTimeMillis:300000 + +testWhileIdle:true +testOnBorrow:false +testOnReturn:false + +maxOpenPreparedStatements:20 +removeAbandoned:true +removeAbandonedTimeout:1800 +logAbandoned:true diff --git a/Dubbo-Demo/Service-Provider/src/test/resources/h2/data.sql b/Dubbo-Demo/Service-Provider/src/test/resources/h2/data.sql new file mode 100644 index 0000000..a09f7a8 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/resources/h2/data.sql @@ -0,0 +1,6 @@ +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('zhangsan', + '123456', 18, '张三', '1111@qq.com', 'hahahah'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('lis', +'123456', 19, '李四', '123131@qq.com', 'xixiixxi'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('wanger', +'123456', 29, '王二', '12131984@qq.com', 'dqdh'); \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/test/resources/h2/schema.sql b/Dubbo-Demo/Service-Provider/src/test/resources/h2/schema.sql new file mode 100644 index 0000000..8de82c2 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/resources/h2/schema.sql @@ -0,0 +1,10 @@ +DROP TABLE user if exist; +create table user ( + id INT(11) AUTO_INCREMENT PRIMARY KEY , + username VARCHAR(255), + password VARCHAR(255), + age INT(3), + nickname VARCHAR(255), + mail VARCHAR(255), + memo VARCHAR(255), + ); \ No newline at end of file diff --git a/Dubbo-Demo/Service-Provider/src/test/resources/logback.xml b/Dubbo-Demo/Service-Provider/src/test/resources/logback.xml new file mode 100644 index 0000000..d68cd15 --- /dev/null +++ b/Dubbo-Demo/Service-Provider/src/test/resources/logback.xml @@ -0,0 +1,19 @@ + + + + + + + + %d{HH:mm:ss} [%t] %logger{5} [%line] %p - %msg%n + + + + + + + + + + + \ No newline at end of file diff --git a/Dubbo-Demo/doc/readme.md b/Dubbo-Demo/doc/readme.md new file mode 100644 index 0000000..47335f0 --- /dev/null +++ b/Dubbo-Demo/doc/readme.md @@ -0,0 +1,7 @@ + +1. 启动需要先下载zk,然后启动 +2. Provider中spring配置文件host改成本机ip地址,然后启动 +3. 启动Consumer +4. 可下载Simple-monitor http://download.csdn.net/detail/liweifengwf/7864009 +5. 可下载dubbo-admin http://download.csdn.net/detail/leiyong0326/9548973 +6. dubbo的调用基本就是这样,大多数规则都可以在admin中配置也可以在spring注册服务和引用的时候配置 \ No newline at end of file diff --git a/Dubbo-Demo/pom.xml b/Dubbo-Demo/pom.xml new file mode 100644 index 0000000..bd21a12 --- /dev/null +++ b/Dubbo-Demo/pom.xml @@ -0,0 +1,79 @@ + + + 4.0.0 + + cn.mrdear.dubbo + Dubbo-Demo + pom + 1.0.0 + Dubbo-demo + + Service-Client + Service-Consumer + Service-Provider + + + + + + org.projectlombok + lombok + 1.16.14 + + + junit + junit + 4.12 + + + com.google.guava + guava + 21.0 + + + + org.slf4j + slf4j-api + 1.7.7 + + + org.slf4j + jcl-over-slf4j + 1.7.7 + + + ch.qos.logback + logback-core + 1.1.2 + + + org.logback-extensions + logback-ext-spring + 0.1.4 + + + ch.qos.logback + logback-classic + 1.1.2 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + UTF-8 + + + + + + \ No newline at end of file diff --git a/Excel-Demo/pom.xml b/Excel-Demo/pom.xml new file mode 100644 index 0000000..241336c --- /dev/null +++ b/Excel-Demo/pom.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + cn.mrdear.poi + Excel-Demo + 1.0-SNAPSHOT + Excel-Demo + + + + org.apache.poi + poi + 3.15 + + + org.apache.poi + poi-ooxml + 3.15 + + + junit + junit + 4.10 + + + + + org.slf4j + slf4j-api + 1.7.2 + + + org.slf4j + jcl-over-slf4j + 1.7.2 + + + ch.qos.logback + logback-core + 1.1.2 + + + ch.qos.logback + logback-classic + 1.1.2 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + \ No newline at end of file diff --git a/Excel-Demo/src/main/java/cn/mrdear/excel/constant/ExcelType.java b/Excel-Demo/src/main/java/cn/mrdear/excel/constant/ExcelType.java new file mode 100644 index 0000000..45018ae --- /dev/null +++ b/Excel-Demo/src/main/java/cn/mrdear/excel/constant/ExcelType.java @@ -0,0 +1,10 @@ +package cn.mrdear.excel.constant; + +/** + * 定义excel格式 + * @author Niu Li + * @since 2017/3/17 + */ +public enum ExcelType { + XLS, XLSX; +} diff --git a/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelExtractor.java b/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelExtractor.java new file mode 100644 index 0000000..0c8bfd5 --- /dev/null +++ b/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelExtractor.java @@ -0,0 +1,115 @@ +package cn.mrdear.excel.core; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import cn.mrdear.excel.constant.ExcelType; +import cn.mrdear.excel.util.BeanUtils; + +/** + * excel解析 + * + * @author Niu Li + * @since 2017/3/17 + */ +public class ExcelExtractor { + + private static Logger logger = LoggerFactory.getLogger(ExcelFormat.class); + + /** + * 解析excel,默认第一行为表头 + * + * @param type excel类型 + * @param excel excel输入流 + * @param tClass 要生成的实体类 + * @param headerMapper 对应解析表格 + * @return 解析后集合 + * @throws IllegalArgumentException 解析错误 + */ + public static List extractFrom(ExcelType type, InputStream excel, Class tClass, + Map headerMapper, Integer sheetIndex) throws IllegalArgumentException, IOException { + Workbook workbook; + try { + workbook = type.equals(ExcelType.XLS) ? new HSSFWorkbook(excel) : new XSSFWorkbook(excel); + } catch (IOException e) { + throw new IllegalArgumentException("未知的表格类型"); + } + //解析表头.默认第一行为表头 + Sheet sheet = workbook.getSheetAt(sheetIndex); + Iterator rowIterator = sheet.rowIterator(); + //第一行 + Row firstRow = rowIterator.next(); + Iterator firstCell = firstRow.cellIterator(); + + Set existHeaderSet = new HashSet<>(); + List existHeader = new ArrayList<>(headerMapper.size()); + firstCell.forEachRemaining(cell -> { + if (cell.getCellType() != Cell.CELL_TYPE_STRING) { + throw new IllegalArgumentException("第一行必须全部为字符串,第" + cell.getColumnIndex() + 1 + "有问题"); + } + existHeaderSet.add(cell.getStringCellValue()); + existHeader.add(cell.getStringCellValue()); + }); + //查询出不存在的表头 + for (String s : headerMapper.keySet()) { + if (!existHeaderSet.contains(s)) { + throw new IllegalArgumentException("不存在的表头:" + s); + } + } + //开始解析表单 + Integer lineNumber = 0; + List result = new ArrayList(); + try { + while (rowIterator.hasNext()){ + Row x = rowIterator.next(); + lineNumber++; + Map tempMap = new HashMap<>(); + Iterator cellIterator = x.cellIterator(); + cellIterator.forEachRemaining(y -> { + Object value = null; + switch (y.getCellType()) { + case Cell.CELL_TYPE_STRING: + value = y.getStringCellValue(); + break; + case Cell.CELL_TYPE_BOOLEAN: + value = y.getBooleanCellValue(); + break; + case Cell.CELL_TYPE_NUMERIC: + value = y.getNumericCellValue(); + break; + case Cell.CELL_TYPE_ERROR: + value = ""; + break; + case Cell.CELL_TYPE_BLANK: + value = ""; + break; + default: + value = ""; + } + String key = headerMapper.get(existHeader.get(y.getColumnIndex())); + tempMap.put(key, value); + }); + result.add(BeanUtils.map2Bean(tempMap, tClass)); + } + } catch (Exception e) { + logger.error("第{}行解析错误",lineNumber); + } + return result; + } +} diff --git a/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelFormat.java b/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelFormat.java new file mode 100644 index 0000000..39b05b9 --- /dev/null +++ b/Excel-Demo/src/main/java/cn/mrdear/excel/core/ExcelFormat.java @@ -0,0 +1,172 @@ +package cn.mrdear.excel.core; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import cn.mrdear.excel.constant.ExcelType; +import cn.mrdear.excel.util.BeanUtils; + +/** + * 工具类入口 + * @author Niu Li + * @since 2017/2/23 + */ +public class ExcelFormat { + + private static Logger logger = LoggerFactory.getLogger(ExcelFormat.class); + //该表格的工作本 + private Workbook workbook; + + /** + * 控制表头,其中键为对应DTO的字段,值为表头显示内容 + */ + private LinkedHashMap headers; + /** + * 具体表内容,只接受DTO + */ + private List contents; + + /** + * 入口函数 + * @param headers 表单头部 + * @param content 表单内容DTO + * @return this表单对象 + */ + public static ExcelFormat from(LinkedHashMap headers,List content){ + return new ExcelFormat(headers,content); + } + + /** + * 在此workbook中增加另一个sheet + * @param headers 新sheet的表头 + * @param content 新sheet的内容 + * @return this + */ + public ExcelFormat andForm(LinkedHashMap headers,List content){ + this.headers = headers; + this.contents = content; + return this; + } + + + /** + * 端点方法,生成最终的表单 + * @return this + */ + public ExcelFormat build(String sheetName){ + //创建字表 + Sheet sheet = sheetName == null ? workbook.createSheet() : workbook.createSheet(sheetName); + //创建表头 + int rowNum = 0; + Row headerRow = sheet.createRow(rowNum++); + List headers = new ArrayList<>(this.headers.keySet());//表头 + List values = new ArrayList<>(this.headers.values());//对应值 + for (int i = 0; i < headers.size(); i++) { + Cell cell = headerRow.createCell(i); + cell.setCellValue(values.get(i)==null?headers.get(i):values.get(i)); + } + //构造表单内容 + try { + for (Object content : contents) { + Map contentMap = BeanUtils.bean2Map(content); + Row current = sheet.createRow(rowNum++); + for (int i = 0; i < headers.size(); i++) { + Cell cell = current.createCell(i); + Object obj = contentMap.get(headers.get(i)); + if (obj == null) { + obj = ""; + } + if (obj instanceof String) { + cell.setCellValue((String) obj); + } else if (obj instanceof Integer) { + cell.setCellValue((Integer) obj); + } else if (obj instanceof Long) { + cell.setCellValue((Long) obj); + } else if (obj instanceof Double) { + cell.setCellValue((Double) obj); + } else if (obj instanceof Date) { + cell.setCellValue((Date) obj); + } else if (obj instanceof Boolean) { + cell.setCellValue((Boolean) obj); + } else { + throw new IllegalArgumentException("unsupported cell type"); + } + } + } + } catch (IllegalAccessException e) { + logger.error("parse excel fail ",e); + } + //设置样式 + + return this; + } + /** + * 私有化构造函数 + */ + private ExcelFormat(LinkedHashMap headers, List contents) { + this.headers = headers; + this.contents = contents; + } + + /** + * 调用该方法后,此workbook则写入关闭 + * @param dirIncludedFileName 最终生成文件名称 + */ + public void write(String dirIncludedFileName){ + try { + File file = new File(dirIncludedFileName); + FileOutputStream os = new FileOutputStream(file); + workbook.write(os); + os.close(); + } catch (IOException e) { + logger.error("write excel fail ",e); + }finally { + try { + if (workbook != null) workbook.close(); + } catch (IOException e) { + logger.error("write excel fail ",e); + } + } + } + + /** + * 结果写到一个输出流中 + * @param os 目标流 + */ + public void write(OutputStream os) { + try { + workbook.write(os); + workbook.close(); + } catch (IOException e) { + logger.error("write excel fail ",e); + } + } + + + /** + * 链式调用设置生成文档格式 + * @param type 指定格式 + * @return this + */ + public ExcelFormat excelType(ExcelType type){ + workbook = type == ExcelType.XLS?new HSSFWorkbook():new XSSFWorkbook(); + return this; + } + +} diff --git a/Excel-Demo/src/main/java/cn/mrdear/excel/util/BeanUtils.java b/Excel-Demo/src/main/java/cn/mrdear/excel/util/BeanUtils.java new file mode 100644 index 0000000..814dd87 --- /dev/null +++ b/Excel-Demo/src/main/java/cn/mrdear/excel/util/BeanUtils.java @@ -0,0 +1,68 @@ +package cn.mrdear.excel.util; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +/** + * 对bean一些转换方法 + * + * @author Niu Li + * @since 2017/2/23 + */ +public class BeanUtils { + + /** + * 转换bean为map + * + * @param source 要转换的bean + * @param bean类型 + * @return 转换结果 + */ + public static Map bean2Map(T source) throws IllegalAccessException { + Map result = new HashMap<>(); + + Class sourceClass = source.getClass(); + //拿到所有的字段,不包括继承的字段 + Field[] sourceFiled = sourceClass.getDeclaredFields(); + for (Field field : sourceFiled) { + field.setAccessible(true);//设置可访问,不然拿不到private + //配置了注解的话则使用注解名称,作为header字段 + FieldName fieldName = field.getAnnotation(FieldName.class); + if (fieldName == null) { + result.put(field.getName(), field.get(source)); + } else { + if (fieldName.Ignore()) continue; + result.put(fieldName.value(), field.get(source)); + } + } + return result; + } + + /** + * map转bean + * @param source map属性 + * @param instance 要转换成的备案 + * @return 该bean + */ + public static T map2Bean(Map source, Class instance) { + try { + T object = instance.newInstance(); + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + field.setAccessible(true); + FieldName fieldName = field.getAnnotation(FieldName.class); + if (fieldName != null){ + field.set(object,source.get(fieldName.value())); + }else { + field.set(object,source.get(field.getName())); + } + } + return object; + } catch (InstantiationException | IllegalAccessException e) { + e.printStackTrace(); + } + return null; + } +} + diff --git a/Excel-Demo/src/main/java/cn/mrdear/excel/util/FieldName.java b/Excel-Demo/src/main/java/cn/mrdear/excel/util/FieldName.java new file mode 100644 index 0000000..61ed7ea --- /dev/null +++ b/Excel-Demo/src/main/java/cn/mrdear/excel/util/FieldName.java @@ -0,0 +1,24 @@ +package cn.mrdear.excel.util; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义字段名 + * @author Niu Li + * @since 2017/2/23 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) +public @interface FieldName { + /** + * 字段名 + */ + String value() default ""; + /** + * 是否忽略 + */ + boolean Ignore() default false; +} diff --git a/Excel-Demo/src/test/java/cn/mrdear/excel/BeanUtilTest.java b/Excel-Demo/src/test/java/cn/mrdear/excel/BeanUtilTest.java new file mode 100644 index 0000000..211150a --- /dev/null +++ b/Excel-Demo/src/test/java/cn/mrdear/excel/BeanUtilTest.java @@ -0,0 +1,27 @@ +package cn.mrdear.excel; + +import org.junit.Test; + +import java.util.Map; + +import cn.mrdear.excel.util.BeanUtils; + +/** + * @author Niu Li + * @since 2017/2/23 + */ +public class BeanUtilTest { + + + @Test + public void test() throws IllegalAccessException { + Demo demo = new Demo(); + demo.setUserName("111"); + demo.setPassWord("222"); + Map map = BeanUtils.bean2Map(demo); + System.out.println(map); + Demo demo1 = BeanUtils.map2Bean(map,Demo.class); + System.out.println(demo1); + } + +} diff --git a/Excel-Demo/src/test/java/cn/mrdear/excel/Demo.java b/Excel-Demo/src/test/java/cn/mrdear/excel/Demo.java new file mode 100644 index 0000000..dba64d2 --- /dev/null +++ b/Excel-Demo/src/test/java/cn/mrdear/excel/Demo.java @@ -0,0 +1,45 @@ +package cn.mrdear.excel; + +import cn.mrdear.excel.util.FieldName; + +/** + * @author Niu Li + * @since 2017/2/23 + */ +public class Demo { + + public Demo(String username, String password) { + this.userName = username; + this.passWord = password; + } + public Demo() { + } + //fildName字段需要和header对应 + @FieldName(value = "username") + private String userName; + private String passWord; + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassWord() { + return passWord; + } + + public void setPassWord(String passWord) { + this.passWord = passWord; + } + + @Override + public String toString() { + return "Demo{" + + "userName='" + userName + '\'' + + ", passWord='" + passWord + '\'' + + '}'; + } +} diff --git a/Excel-Demo/src/test/java/cn/mrdear/excel/ExcelFormatTest.java b/Excel-Demo/src/test/java/cn/mrdear/excel/ExcelFormatTest.java new file mode 100644 index 0000000..735894c --- /dev/null +++ b/Excel-Demo/src/test/java/cn/mrdear/excel/ExcelFormatTest.java @@ -0,0 +1,65 @@ +package cn.mrdear.excel; + +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +import cn.mrdear.excel.constant.ExcelType; +import cn.mrdear.excel.core.ExcelExtractor; +import cn.mrdear.excel.core.ExcelFormat; + +/** + * @author Niu Li + * @since 2017/2/23 + */ +public class ExcelFormatTest { + LinkedHashMap headers; + LinkedHashMap extractorHeaders; + + @Before + public void init() { + headers = new LinkedHashMap<>(); + extractorHeaders = new LinkedHashMap<>(); + headers.put("username","用户名"); + headers.put("passWord", "密码"); + extractorHeaders.put("用户名","username"); + extractorHeaders.put("密码", "passWord"); + } + + @Test + public void testMake() { + List content = new ArrayList<>(); + Demo demo1 = new Demo("1","1"); + Demo demo2 = new Demo("2","2"); + Demo demo3 = new Demo("3","3"); + Demo demo4 = new Demo("4","4"); + content.add(demo1); + content.add(demo2); + content.add(demo3); + content.add(demo4); + + //写入 + ExcelFormat.from(headers,content) + .excelType(ExcelType.XLS) + .build("niuli") + .write("/tmp/niuli.xls"); + System.out.println("写入成功"); + //读取 + try { + InputStream in = new FileInputStream(new File("/tmp/niuli.xls")); + List result = ExcelExtractor.extractFrom(ExcelType.XLS,in,Demo.class, + extractorHeaders,0); + System.out.println(result); + } catch (IOException e) { + e.printStackTrace(); + } + System.out.println("读取成功"); + } +} diff --git a/HtmlUnit-Demo/.idea/compiler.xml b/HtmlUnit-Demo/.idea/compiler.xml deleted file mode 100644 index fd9d725..0000000 --- a/HtmlUnit-Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/copyright/profiles_settings.xml b/HtmlUnit-Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/HtmlUnit-Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/deployment.xml b/HtmlUnit-Demo/.idea/deployment.xml deleted file mode 100644 index 25a0408..0000000 --- a/HtmlUnit-Demo/.idea/deployment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/encodings.xml b/HtmlUnit-Demo/.idea/encodings.xml deleted file mode 100644 index 247aa7f..0000000 --- a/HtmlUnit-Demo/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml b/HtmlUnit-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml deleted file mode 100644 index 3888159..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/HtmlUnit-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml deleted file mode 100644 index 27424a1..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml b/HtmlUnit-Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml deleted file mode 100644 index 67c2ad2..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/HtmlUnit-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_cssparser_cssparser_0_9_20.xml b/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_cssparser_cssparser_0_9_20.xml deleted file mode 100644 index 69204fd..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_cssparser_cssparser_0_9_20.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_2_23.xml b/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_2_23.xml deleted file mode 100644 index 18afd08..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_2_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_core_js_2_23.xml b/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_core_js_2_23.xml deleted file mode 100644 index 85f6b10..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_htmlunit_core_js_2_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_neko_htmlunit_2_23.xml b/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_neko_htmlunit_2_23.xml deleted file mode 100644 index dc921d3..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__net_sourceforge_htmlunit_neko_htmlunit_2_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml deleted file mode 100644 index 78cfcd3..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml deleted file mode 100644 index fdb7ead..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml deleted file mode 100644 index 3a5aa19..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_2.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_2.xml deleted file mode 100644 index 4b2025a..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_2_18_v20160721.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_2_18_v20160721.xml deleted file mode 100644 index eb77d34..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_2_18_v20160721.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_2_18_v20160721.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_2_18_v20160721.xml deleted file mode 100644 index dadc591..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_2_18_v20160721.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_2_18_v20160721.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_2_18_v20160721.xml deleted file mode 100644 index 01ec5bd..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_2_18_v20160721.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_2_18_v20160721.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_2_18_v20160721.xml deleted file mode 100644 index 8a37d8d..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_2_18_v20160721.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_2_18_v20160721.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_2_18_v20160721.xml deleted file mode 100644 index 74968e1..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_2_18_v20160721.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__org_w3c_css_sac_1_3.xml b/HtmlUnit-Demo/.idea/libraries/Maven__org_w3c_css_sac_1_3.xml deleted file mode 100644 index af3d414..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__org_w3c_css_sac_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__xalan_serializer_2_7_2.xml b/HtmlUnit-Demo/.idea/libraries/Maven__xalan_serializer_2_7_2.xml deleted file mode 100644 index 8fd4cc9..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__xalan_serializer_2_7_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__xalan_xalan_2_7_2.xml b/HtmlUnit-Demo/.idea/libraries/Maven__xalan_xalan_2_7_2.xml deleted file mode 100644 index c806972..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__xalan_xalan_2_7_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml b/HtmlUnit-Demo/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml deleted file mode 100644 index 285d5e8..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml b/HtmlUnit-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml deleted file mode 100644 index 9aadd29..0000000 --- a/HtmlUnit-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/misc.xml b/HtmlUnit-Demo/.idea/misc.xml deleted file mode 100644 index 8cd8b9b..0000000 --- a/HtmlUnit-Demo/.idea/misc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/modules.xml b/HtmlUnit-Demo/.idea/modules.xml deleted file mode 100644 index 9177726..0000000 --- a/HtmlUnit-Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/uiDesigner.xml b/HtmlUnit-Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/HtmlUnit-Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/.idea/workspace.xml b/HtmlUnit-Demo/.idea/workspace.xml deleted file mode 100644 index 7a55cba..0000000 --- a/HtmlUnit-Demo/.idea/workspace.xml +++ /dev/null @@ -1,1477 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\牛李\AppData\Roaming\Subversion - - - - - 1475907637491 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No facets are configured - - - - - - - - app - - - - - - - - 1.8 - - - - - - - - 爬虫项目 - - - - - - - - IntelliJ IDEA IU-162.2032.8 - - - - - - - - Maven: com.alibaba:fastjson:1.2.14 - - - - - - - - \ No newline at end of file diff --git a/HtmlUnit-Demo/pom.xml b/HtmlUnit-Demo/pom.xml index 915ef7b..9f80981 100644 --- a/HtmlUnit-Demo/pom.xml +++ b/HtmlUnit-Demo/pom.xml @@ -5,9 +5,10 @@ 4.0.0 cn.mrdear - mrdear + HtmlUnit-Demo 1.0 jar + HtmlUnit-Demo diff --git "a/HtmlUnit-Demo/\347\210\254\350\231\253\351\241\271\347\233\256.iml" "b/HtmlUnit-Demo/\347\210\254\350\231\253\351\241\271\347\233\256.iml" deleted file mode 100644 index 461add1..0000000 --- "a/HtmlUnit-Demo/\347\210\254\350\231\253\351\241\271\347\233\256.iml" +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/artifacts/TestJPA_war.xml b/JPA-Demo/.idea/artifacts/TestJPA_war.xml deleted file mode 100644 index aa2cab2..0000000 --- a/JPA-Demo/.idea/artifacts/TestJPA_war.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/target - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/artifacts/TestJPA_war_exploded.xml b/JPA-Demo/.idea/artifacts/TestJPA_war_exploded.xml deleted file mode 100644 index dc70e59..0000000 --- a/JPA-Demo/.idea/artifacts/TestJPA_war_exploded.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - $PROJECT_DIR$/target/testjpa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/compiler.xml b/JPA-Demo/.idea/compiler.xml deleted file mode 100644 index fdebc2f..0000000 --- a/JPA-Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/copyright/profiles_settings.xml b/JPA-Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/JPA-Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/dataSources.local.xml b/JPA-Demo/.idea/dataSources.local.xml deleted file mode 100644 index 4cbfbfb..0000000 --- a/JPA-Demo/.idea/dataSources.local.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - #@ - ` - - - master_key - pcard_ap - pcard: - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/dataSources.xml b/JPA-Demo/.idea/dataSources.xml deleted file mode 100644 index 98da451..0000000 --- a/JPA-Demo/.idea/dataSources.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - mysql - true - com.mysql.jdbc.Driver - jdbc:mysql://172.18.0.13:60001/pcard - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/dataSources/9b9d41a7-087f-4d48-b6f5-6a32ff67416e.xml b/JPA-Demo/.idea/dataSources/9b9d41a7-087f-4d48-b6f5-6a32ff67416e.xml deleted file mode 100644 index d99b5f6..0000000 --- a/JPA-Demo/.idea/dataSources/9b9d41a7-087f-4d48-b6f5-6a32ff67416e.xml +++ /dev/null @@ -1,5359 +0,0 @@ - - - - - 1 - - - - - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - FUNCTION - - - FUNCTION - - - FUNCTION - - - FUNCTION - - - FUNCTION - - - FUNCTION - - - FUNCTION - - - PROCEDURE - - - 1 - varchar(255)|0 - - - int(11)|0 - - - varchar(255)|0 - - - datetime|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - datetime|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - dy_id - 1 - - - 账户ID - 1 - varchar(255)|0 - - - 账户代码 - 1 - varchar(255)|0 - - - 所属商户(权限隔离,统计用) - 1 - varchar(255)|0 - - - 再所属商户账户代码(追踪对账用) - 1 - varchar(255)|0 - - - 账户金额,单位为分 - 1 - bigint(20)|0 - - - 账户余额(包含账户充值和关联虚拟卡总额),单位为分 - 1 - bigint(20)|0 - - - 账户冻结金额,单位为分 - 1 - bigint(20)|0 - - - 币别(默认CNY) - 1 - varchar(255)|0 - 'CNY' - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 支付密码 - 1 - varchar(255)|0 - - - '0'已设置 支付密码 ‘1’未设置支付密码 - 1 - char(1)|0 - '1' - - - int(20)|0 - '0' - - - 查询密码 - varchar(255)|0 - - - 微信绑定ID - varchar(255)|0 - - - 手机号 - varchar(255)|0 - - - 账户姓名 - varchar(255)|0 - - - 免密金额 - bigint(20)|0 - - - char(1)|0 - 'N' - - - 证件名称 - char(20)|0 - - - 证件号 - char(30)|0 - - - 01:身份证 02:军官证 03:护照 04:回乡证 05:台胞证 06:警官证 07:士兵证 99:其它证件 - char(2)|0 - - - 是否锁定 0未锁定,1锁定 - bit(1)|0 - b'0' - - - 锁定时间 - datetime|0 - - - 登录失败次数 - int(11)|0 - '0' - - - acct_id - 1 - - - 变动流水 - 1 - varchar(255)|0 - - - 订单号 - 1 - varchar(255)|0 - - - 在不同交易类型下,账户变动金额(注意有正负号) - 1 - bigint(20)|0 - - - 交易前账户金额,精确到分 - 1 - bigint(20)|0 - - - 交易前账户余额,精确到分 - 1 - bigint(20)|0 - - - 交易前冻结资金,精确到分 - 1 - bigint(20)|0 - - - 交易后账户金额,精确到分 - 1 - bigint(20)|0 - - - 交易后账户余额,精确到分 - 1 - bigint(20)|0 - - - 交易后冻结资金,精确到分 - 1 - bigint(20)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 账户号 - 1 - varchar(255)|0 - - - 备注 - varchar(512)|0 - - - change_id - 1 - - - 账号 - 1 - varchar(64)|0 - - - 第三方标识 - 1 - varchar(128)|0 - - - 0 可用 1不可用 - 1 - varchar(1)|0 - - - 创建时间 - 1 - datetime|0 - - - 更新时间 - 1 - datetime|0 - - - 备注 - varchar(256)|0 - - - 应用ID - 1 - varchar(128)|0 - - - 机构号或者商户号 - 1 - varchar(64)|0 - - - uuid -app_id -mcht_id - 1 - - - 账号ID - 1 - varchar(255)|0 - - - 虚拟卡ID - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 01实体卡 02 虚拟卡 - varchar(2)|0 - '02' - - - int(11)|0 - '0' - - - 自定义类型,0正常虚拟卡,1充值虚拟卡,2转赠虚拟卡 - varchar(2)|0 - '0' - - - acct_id -vcard_id - 1 - - - 用户ID - 1 - varchar(255)|0 - - - 收单代码 - 1 - varchar(255)|0 - - - 收单姓名 - 1 - varchar(255)|0 - - - 收单描述 - 1 - varchar(500)|0 - - - 收单账号 - 1 - varchar(255)|0 - - - 收单银行 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - acq_acct_id - 1 - - - 渠道ID - 1 - varchar(255)|0 - - - 渠道代码 - 1 - varchar(255)|0 - - - 渠道姓名 - 1 - varchar(255)|0 - - - 渠道描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - acq_channel_id - 1 - - - 主键 - 1 - varchar(32)|0 - - - 开放应用ID 唯一 - 1 - varchar(12)|0 - - - 开放应用密钥 - 1 - varchar(512)|0 - - - 机构号 - 1 - varchar(32)|0 - - - 商户公钥 base64加密值 - - 1 - varchar(1024)|0 - - - 机构白名单 ip或者域名 非白名单地址不允许做请求访问 - 1 - varchar(1024)|0 - - - 创建时间 - - 1 - datetime|0 - - - 更新时间 - - 1 - datetime|0 - - - 交易权限 - - 1 - varchar(512)|0 - - - 公钥加密app_secret - - 1 - varchar(1024)|0 - - - 0可用 1待审核 9 禁用 - - 1 - varchar(1)|0 - - - 预付费卡应用 - 1 - varchar(3)|0 - - - app_id - - 1 - - - id - 1 - - - app_id - APP_ID_SEQ - - - 主键 - - 1 - varchar(64)|0 - - - api唯一编号 - 1 - varchar(4)|0 - - - 应用编号 - 1 - varchar(3)|0 - - - api名称 - - 1 - varchar(128)|0 - - - 0 可用 9 禁用 - 1 - varchar(1)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后更新时间 - 1 - datetime|0 - - - 备注 - varchar(512)|0 - - - api地址 - - varchar(512)|0 - - - api_list_id - 1 - - - 应用编号,唯一 - 1 - varchar(3)|0 - - - 应用名称 - 1 - varchar(128)|0 - - - 0 可用 9 禁用 - 1 - varchar(1)|0 - - - 创建时间 - datetime|0 - - - 最后更新时间 - datetime|0 - - - 备注 - varchar(512)|0 - - - app_type_code - - 1 - - - app_type_code - app_type_code_seq - - - 日志ID - 1 - varchar(255)|0 - - - 操作员 - 1 - varchar(255)|0 - - - 操作描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 操作人机构 - 1 - varchar(50)|0 - - - 操作月 - 1 - varchar(20)|0 - - - 操作日 - 1 - varchar(20)|0 - - - log_id - 1 - - - 1 - bigint(20)|0 - 1 - - - varchar(32)|0 - - - varchar(32)|0 - - - varchar(32)|0 - - - varchar(255)|0 - - - int(11)|0 - - - varchar(4)|0 - - - varchar(2)|0 - '0' - - - varchar(2)|0 - - - varchar(255)|0 - - - datetime|0 - - - datetime|0 - - - bigint(20)|0 - - - 卡类型 - char(20)|0 - - - 发卡行信息 - char(128)|0 - - - id - 1 - - - 主键 - 1 - varchar(32)|0 - - - 卡号 - 1 - varchar(20)|0 - - - 卡账号 - varchar(32)|0 - - - 发卡机构 - 1 - varchar(32)|0 - - - 发卡名称 - 1 - varchar(128)|0 - - - 卡种 00 磁条卡 01 M1卡 02 CPU卡03:4442 卡 - 1 - varchar(2)|0 - - - 充值序列号 - varchar(32)|0 - - - 测试卡标志 0 是 1否 - 1 - varchar(1)|0 - - - 是否为会员 0 是 1 否 - 1 - varchar(1)|0 - - - 是否加密 0 是 1 否 - 1 - varchar(1)|0 - - - 是否实名 0 是 1 否 - 1 - varchar(1)|0 - - - 客户名称 - varchar(32)|0 - - - 库存机构 - varchar(32)|0 - - - 售卡机构 - varchar(32)|0 - - - 初始卡密码 - 1 - varchar(64)|0 - - - 卡密码 - varchar(64)|0 - - - 初始查询密码 - 1 - varchar(64)|0 - - - 查询密码 - varchar(64)|0 - - - 卡余额(不含押金) - 1 - bigint(20)|0 - - - 赠送金额 - 1 - bigint(20)|0 - '0' - - - 积分余额 - 1 - bigint(20)|0 - - - 可用余额 - 1 - bigint(20)|0 - - - 上日余额 - 1 - bigint(20)|0 - - - 冻结金额 - 1 - bigint(20)|0 - - - 圈存金额 - 1 - bigint(20)|0 - - - 最低账户金额 - 1 - bigint(20)|0 - - - 最大账户金额 - 1 - bigint(20)|0 - - - 最大透支金额 - 1 - bigint(20)|0 - - - 开户时间 - 1 - datetime|0 - - - 激活时间 - datetime|0 - - - 最后更新时间 - datetime|0 - - - 首次交易时间 - datetime|0 - - - 00正常,01挂失,02初始,03坏卡,04预售卡,05回收,06作废卡,07冻结,08锁定,09换卡,10已到期,11 退卡 - 1 - varchar(2)|0 - - - 卡流通状态00正常,01开卡,02总部入库,03在途,04验卡,05库存,06售卡未激活,07遗失,08作废,09异常 10待制卡(用于生成模拟数据) - 1 - varchar(2)|0 - - - 充值次数 - 1 - bigint(20)|0 - '0' - - - 交易次数 - bigint(20)|0 - - - 充值累计金额 - 1 - bigint(20)|0 - - - 卡校验码 - 1 - varchar(32)|0 - - - 备注 - varchar(512)|0 - - - 磁道信息1 - varchar(255)|0 - - - 磁道信息2 - varchar(255)|0 - - - 磁道信息3 - varchar(255)|0 - - - 255 - varchar(255)|0 - - - IC卡信息2 - varchar(255)|0 - - - IC卡信息3 - varchar(255)|0 - - - 有效期YYmm,不存在则按,磁道中的有效期来判断 - varchar(4)|0 - - - 制卡流程ID - 1 - varchar(30)|0 - - - 卡初始金额 - bigint(20)|0 - '0' - - - varchar(255)|0 - - - 应用范围 - 1 - varchar(32)|0 - - - 是佛支持充值 0 支持 1不支持 - 1 - varchar(1)|0 - '1' - - - int(11)|0 - '0' - - - 绑定客户的Id - varchar(32)|0 - - - 绑定时间 - datetime|0 - - - 是否为自定义卡 0 是 1否 - varchar(1)|0 - - - 卡片图片 - varchar(512)|0 - - - 充值金额 - bigint(20)|0 - - - 版本 - bigint(20)|0 - '0' - - - 交易订单号 - varchar(64)|0 - - - cd_code - - 1 - - - cd_id - 1 - - - cd_code - uq_cd_code - - - id - 1 - varchar(32)|0 - - - 状态 0 待审核 1审核通过 2 审核不通过 - 1 - varchar(1)|0 - - - 起始卡号 - 1 - varchar(64)|0 - - - 结束卡号 - 1 - varchar(64)|0 - - - 步长 - 1 - int(11)|0 - - - 数量 - 1 - int(11)|0 - - - 激活途径 01 现金 02银行卡 03微信 04 支付宝 - 1 - varchar(2)|0 - - - 归属机构 - 1 - varchar(32)|0 - - - 录入员 - 1 - varchar(256)|0 - - - 审核员 - 1 - varchar(256)|0 - - - 创建时间 - 1 - datetime|0 - - - 更新时间 - 1 - datetime|0 - - - 面值 - 1 - bigint(20)|0 - - - 制卡流程 - 1 - varchar(32)|0 - - - 备注 - varchar(512)|0 - - - act_id - 1 - - - 主键 - 1 - varchar(64)|0 - - - 旧卡号 - 1 - varchar(64)|0 - - - 旧卡类型 3实体卡 4 虚拟卡 - 1 - char(1)|0 - - - 卡介质 卡介质 00 磁条卡 01 M1卡 02 CPU卡,03:4442 卡 99虚拟卡 - 1 - varchar(2)|0 - - - 卡内总金额 - 1 - bigint(20)|0 - - - 卡类总积分 - 1 - bigint(20)|0 - - - 旧卡号 - 1 - varchar(64)|0 - - - 旧卡类型 3实体卡 4 虚拟卡 - 1 - char(1)|0 - - - 卡介质 卡介质 00 磁条卡 01 M1卡 02 CPU卡,03:4442 卡 99虚拟卡 - 1 - varchar(2)|0 - - - 创建时间 - 1 - datetime|0 - - - 0 换卡成功 1待换卡 9换卡失败 - 1 - char(1)|0 - - - 登记人员 POS交易登记为CHMPAY_SERVICE,其他用户不允许注册为CHMAPY_SERVICE - 1 - varchar(64)|0 - - - 处理用户POS交易登记为CHMPAY_SERVICE,其他用户不允许注册为CHMAPY_SERVICE - varchar(64)|0 - - - 最后更新时间 - datetime|0 - - - 备注 - varchar(512)|0 - - - change_id - 1 - - - 主键 - 1 - varchar(32)|0 - - - 制卡单号 - 1 - varchar(32)|0 - - - 接收机构 - 1 - varchar(30)|0 - - - 发卡方名称 - 1 - varchar(128)|0 - - - 起始卡号 - 1 - varchar(20)|0 - - - 结束卡号 - 1 - varchar(20)|0 - - - 卡数量 - 1 - int(11)|0 - - - 配送状态 1 正在配送 2 已收到 7拒收 8 退回 9 遗失 - 1 - varchar(1)|0 - - - 配送登记人员 - 1 - varchar(32)|0 - - - 配送单号 - 1 - varchar(64)|0 - - - 配送时间 - 1 - datetime|0 - - - 配送机构名称 顺丰 申通 邮政等 - 1 - varchar(128)|0 - - - 收货完成时间 - datetime|0 - - - 备注 - varchar(512)|0 - - - 配送类型 00 卡商配送给超市 01 超市配送给地区 02 地区配送给门店 03 卡商配送到地区 04 卡商配送到门店 05 门店配送给用户 - 1 - varchar(2)|0 - - - dy_id - 1 - - - 1 - varchar(64)|0 - - - 起始卡号 - 1 - varchar(32)|0 - - - 结束卡号 - 1 - varchar(32)|0 - - - 卡数量 - 1 - int(11)|0 - - - 新有效期时间 - 1 - datetime|0 - - - 1 - datetime|0 - - - 登记员 - 1 - varchar(64)|0 - - - 审核员 - varchar(64)|0 - - - 最后更新信息 - datetime|0 - - - 0 展期成功 1 待审核 9 审核失败 - 1 - varchar(1)|0 - - - 备注 - varchar(512)|0 - - - extend_id - 1 - - - id - 1 - varchar(32)|0 - - - 操作类型 01挂失 ;02 解挂 ;03冻结;04解冻 05退卡 06密码重置 07卡片展期 08卡卡出账 09 卡卡入账,10充值,11绑卡,12解绑 - 1 - varchar(2)|0 - - - 操作时间 - 1 - datetime|0 - - - 操作人 - varchar(256)|0 - - - 操作人机构 - 1 - varchar(32)|0 - - - 卡号 - 1 - varchar(32)|0 - - - 卡片被操作是所在机构 - 1 - varchar(32)|0 - - - 备注 - varchar(512)|0 - - - 证件号 - varchar(255)|0 - - - 证件类型 01、身份证 02、护照 03、驾驶证 - varchar(255)|0 - - - 审核人机构 - varchar(255)|0 - - - card_operate_id -card_operate_time - 1 - - - 主键 - 1 - varchar(64)|0 - - - 制卡主键ID - 1 - varchar(64)|0 - - - 起始卡号 - 1 - varchar(32)|0 - - - 结束卡号 - 1 - varchar(32)|0 - - - 偏移量,步长 - 1 - int(11)|0 - '1' - - - 卡数量 - 1 - int(11)|0 - - - 0 配送完成 1待确认制卡 2正在制卡 3 设置配送 9 拒绝制卡 - 1 - char(1)|0 - - - 创建时间 - 1 - datetime|0 - - - 配送时间 - datetime|0 - - - 配送确认时间,拒绝时间 - datetime|0 - - - 登记用户(创建用户) - 1 - varchar(64)|0 - - - 配送确认用户或者拒绝制卡设置用户 - varchar(64)|0 - - - 配送用户 - varchar(64)|0 - - - 卡商留言 - varchar(512)|0 - - - 运营者留言 - varchar(512)|0 - - - 订单备注 - varchar(512)|0 - - - 申请机构 - varchar(32)|0 - - - 所属卡商 - varchar(32)|0 - - - varchar(255)|0 - - - cord_id - 1 - - - 充值Id - 1 - varchar(32)|0 - - - 状态 0 待审核 1审核通过 2 审核不通过 - 1 - varchar(1)|0 - - - 起始卡号 - 1 - varchar(32)|0 - - - 结束卡号 - 1 - varchar(32)|0 - - - 步长 - 1 - int(11)|0 - - - 数量 - 1 - int(11)|0 - - - 充值途径 01 现金 02银行卡 03微信 04 支付宝 - 1 - varchar(2)|0 - - - 归属机构 - 1 - varchar(32)|0 - - - 录入员 - 1 - varchar(255)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 单张卡面金额金额 - 1 - bigint(20)|0 - - - 充值总金额 - 1 - bigint(20)|0 - - - 备注 - varchar(512)|0 - - - varchar(255)|0 - - - rec_id - 1 - - - ID - 1 - varchar(255)|0 - - - 充值总额 - bigint(20)|0 - - - 审核人 - varchar(255)|0 - - - 创建时间 - datetime|0 - - - 创建人 - varchar(255)|0 - - - 文件地址 - varchar(255)|0 - - - 上送机构 - varchar(32)|0 - - - 最后操作时间 - datetime|0 - - - 备注 - varchar(255)|0 - - - 充值数量 - int(11)|0 - - - 审核 0 待审核 1审核通 2审核不通过 - varchar(1)|0 - - - 审核人机构 - varchar(32)|0 - - - rec_id - 1 - - - ID - 1 - varchar(255)|0 - - - 充值总额 - 1 - bigint(20)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 创建人 - 1 - varchar(255)|0 - - - 文件地址 - 1 - varchar(255)|0 - - - 上送机构 - 1 - varchar(32)|0 - - - 最后操作时间 - 1 - datetime|0 - - - 备注 - varchar(255)|0 - - - 充值数量 - 1 - int(11)|0 - - - 审核 0 待审核 1审核通 2审核不通过 - 1 - varchar(1)|0 - - - 审核人机构 - varchar(32)|0 - - - 充值途径 1 现金 2银行卡 3微信 4 支付宝 - varchar(1)|0 - - - rec_id - 1 - - - 主键 - 1 - varchar(32)|0 - - - 文件充值记录Id - 1 - varchar(32)|0 - - - 卡号 - 1 - varchar(30)|0 - - - 充值前的卡片金额 - 1 - bigint(20)|0 - - - 充值后的卡片金额 - 1 - bigint(20)|0 - - - 充值金额 - 1 - bigint(20)|0 - - - 备注 - varchar(255)|0 - - - 文件路径 - 1 - varchar(256)|0 - - - 操作机构 - 1 - varchar(32)|0 - - - 创建时间 - 1 - datetime|0 - - - 充值途径 1 现金 2银行卡 3微信 4 支付宝 - varchar(2)|0 - - - id - 1 - - - id - 1 - varchar(255)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 创建人 - 1 - varchar(255)|0 - - - 转入卡全部金额 - 1 - bigint(20)|0 - - - 转入卡最大限额 - 1 - bigint(20)|0 - - - 转入卡号卡 - 1 - varchar(255)|0 - - - 创建机构 - 1 - varchar(255)|0 - - - 最后修改时间 - 1 - datetime|0 - - - 备注 - varchar(255)|0 - - - 转账金额 - 1 - bigint(20)|0 - - - 转出卡可用金额 - 1 - bigint(20)|0 - - - 转出卡卡号 - 1 - varchar(255)|0 - - - 状态 0 待审核 1审核通过 2 审核不通过 - 1 - varchar(1)|0 - - - 转账日期(审核通过日期) - datetime|0 - - - 审核人所在机构 - varchar(32)|0 - - - trans_id - 1 - - - 1 - varchar(32)|0 - - - 机构号 - 1 - varchar(32)|0 - - - 机构名称 - 1 - varchar(128)|0 - - - 卡名称 - 1 - varchar(128)|0 - - - 是否支持ATM机 0支持 1不支持 - int(11)|0 - - - 是否支持POS机 0支持 1不支持 - 1 - int(11)|0 - - - a是否存在磁道1 0 存在 1 不存在 - int(11)|0 - - - 磁道1起始字节 - int(11)|0 - - - 磁道1长度 - int(11)|0 - - - 是否存在磁道2 0 存在 1 不存在 - int(11)|0 - - - 磁道2起始字节 - int(11)|0 - - - 磁道2长度 - int(11)|0 - - - 是否存在磁道3 0 存在 1 不存在 - int(11)|0 - - - 磁道3起始字节 - int(11)|0 - - - 磁道3长度 - int(11)|0 - - - 主账号读取磁道 - int(11)|0 - - - 主账号起始字节 - int(11)|0 - - - 卡号长度 - int(11)|0 - - - 主账号范例 - varchar(20)|0 - - - 卡BIN发卡机构读取磁道 - int(11)|0 - - - 卡BIN读取磁道起始字节 - int(11)|0 - - - 卡BIN发卡机构长度 - int(11)|0 - - - 卡BIN值 - 1 - varchar(12)|0 - - - 卡种 3实体卡 4虚拟 01借记卡 02 贷记卡 - 1 - varchar(1)|0 - - - 状态 0 正常 8 黑名单 9 注销 - 1 - varchar(1)|0 - - - 创建日期 - 1 - datetime|0 - - - 最后修改日期 - 1 - datetime|0 - - - 是否支持充值 0 支持 1不支持 - varchar(1)|0 - - - 应用范围,组织机构 - 1 - varchar(32)|0 - - - 卡介质 00 CPU卡 01 M1卡 02 磁条卡,03:4442 卡 - varchar(2)|0 - - - 0 待审核 1审核通过 2 审核不过 - 1 - varchar(1)|0 - - - card_bin - - 1 - - - bin_id - 1 - - - card_bin - UNQ_CARD_BIN - - - 主键 - 1 - varchar(32)|0 - - - 卡号 - 1 - varchar(32)|0 - - - 1 - bigint(20)|0 - - - 冻结金额 - 1 - bigint(20)|0 - - - 交易后金额 - 1 - bigint(20)|0 - - - 交易后冻结金额 - 1 - bigint(20)|0 - - - 交易金额 -为消费 +为充值 - 1 - bigint(20)|0 - - - 1 - varchar(32)|0 - - - 备注 - varchar(512)|0 - - - 创建时间 - 1 - datetime|0 - - - 01实体卡 02 虚拟卡 - varchar(2)|0 - '01' - - - 账户号 - varchar(32)|0 - - - log_id - 1 - - - 主键 - 1 - varchar(32)|0 - - - 规则代码 - varchar(32)|0 - - - 1 - varchar(128)|0 - - - 卡种位数 - 1 - int(11)|0 - - - 卡号长度 - 1 - int(11)|0 - - - 卡BIN值 - 1 - varchar(20)|0 - - - 面值位数 - 1 - int(11)|0 - - - 序号位数 - 1 - int(11)|0 - - - 校验证 - 1 - int(11)|0 - '1' - - - 备注 - varchar(256)|0 - - - 创建时间 - 1 - datetime|0 - - - 0启用 1禁用 - 1 - varchar(1)|0 - - - cn_code - - 1 - - - cn_id - 1 - - - cn_code - code_seq - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 失效时间 - 1 - datetime|0 - - - 购物车ID - 1 - varchar(255)|0 - - - 账户ID - varchar(255)|0 - - - cart_key - - 1 - - - id - 1 - - - cart_key - UQ_PCARD_CART_KEY - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 数量 - 1 - int(11)|0 - - - 购物车ID - 1 - varchar(255)|0 - - - 卡类型ID - 1 - varchar(255)|0 - - - cart_key - - - - id - 1 - - - Id - 1 - varchar(32)|0 - - - 客户名称 - 1 - varchar(255)|0 - - - 客户英文名称 - varchar(255)|0 - - - 客户性别 01、男 02、女 - varchar(2)|0 - - - 出生日期 - datetime|0 - - - 客户类型 01、个人 02、集团 03、家庭 - 1 - varchar(2)|0 - - - 邮箱 - 1 - varchar(50)|0 - - - 手机 - varchar(20)|0 - - - 电话 - varchar(30)|0 - - - 证件类型 01、身份证 02、护照 03、驾驶证 - varchar(2)|0 - - - 证件号码 - varchar(30)|0 - - - 录入员 - 1 - varchar(255)|0 - - - 备注 - varchar(512)|0 - - - 客户省份 - varchar(255)|0 - - - 客户城市 - varchar(255)|0 - - - 客户详细地址 - varchar(512)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 法人代表姓名 - varchar(255)|0 - - - 法人证件号 - varchar(30)|0 - - - 法人证件有效期 - datetime|0 - - - 营业执照号码 - varchar(30)|0 - - - customer_information_id - 1 - - - 1 - varchar(255)|0 - - - 赠送者账户ID - 1 - varchar(255)|0 - - - 接收者账户ID - varchar(255)|0 - - - 卡ID - 1 - varchar(255)|0 - - - 卡余额 - bigint(20)|0 - - - 创建时间 - 1 - datetime|0 - - - 更新时间 - 1 - datetime|0 - - - 0有效记录 1无效记录 - 1 - char(1)|0 - - - 版本 - 1 - bigint(20)|0 - - - 赠送留言 - varchar(500)|0 - - - 收卡人手机号 - 1 - varchar(255)|0 - - - 收卡人姓名 - varchar(255)|0 - - - 赠送者姓名 - 1 - varchar(255)|0 - - - 0 待接收 1已接收 2拒绝接收 - 1 - char(1)|0 - '0' - - - 赠送者手机号 - varchar(255)|0 - - - 卡类型名称 - varchar(255)|0 - - - 卡图片 - varchar(255)|0 - - - varchar(255)|0 - - - bigint(20)|0 - - - 商户组织机构Id(数据隔离) - varchar(32)|0 - - - 失效时间 - datetime|0 - - - 订单id - varchar(255)|0 - - - gift_id - 1 - - - 主键 - 1 - varchar(32)|0 - '0' - - - 组织结构代码 - varchar(8)|0 - - - 组织结构名称 - 1 - varchar(128)|0 - - - 组织结构排序 - 1 - decimal(5)|0 - '0' - - - 上级组织结构ID - varchar(32)|0 - - - 备注 - varchar(512)|0 - - - 0:组织机构 1商户 - 1 - varchar(1)|0 - '0' - - - inst_code - - 1 - - - inst_id - 1 - - - inst_code - UNQ_inst_code - - - Id - 1 - varchar(32)|0 - - - 虚拟卡卡类型 - 1 - varchar(32)|0 - - - 描述 - varchar(512)|0 - - - 制卡数量 - 1 - int(11)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 创建人 - 1 - varchar(128)|0 - - - 审核人 - 1 - varchar(128)|0 - - - 状态0:待审核,1:审核通过 - 1 - varchar(1)|0 - - - 所属机构 - 1 - varchar(32)|0 - - - 步长 - 1 - varchar(32)|0 - - - 起始卡号 - 1 - varchar(32)|0 - - - 结束卡号 - 1 - varchar(32)|0 - - - 卡种类 01:实体卡,02:虚拟卡 - 1 - varchar(2)|0 - - - 申请机构Id - 1 - varchar(32)|0 - - - 操作人姓名 - 1 - varchar(128)|0 - - - 接收机构 - varchar(32)|0 - - - varchar(255)|0 - - - invented_card_make_id - 1 - - - 卡商ID - 1 - varchar(255)|0 - - - 商户名称 - 1 - varchar(255)|0 - - - 商户地址 - 1 - varchar(500)|0 - - - 商户电话 - 1 - varchar(255)|0 - - - 商户传真 - varchar(255)|0 - - - 商户主页 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 创建人 - 1 - varchar(255)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 状态(0:待审核,1:审核通过2:审核失败) - 1 - varchar(1)|0 - - - 0正常 1禁用 - 1 - varchar(1)|0 - '0' - - - 联系人 - 1 - varchar(255)|0 - - - 商户简称 - varchar(255)|0 - - - 01 事业单位 ,02 企业单位 03个体工商户 - varchar(4)|0 - - - 工商注册名称 - varchar(256)|0 - - - 经营范围 - varchar(256)|0 - - - 法人名称 - varchar(36)|0 - - - 法人证件类型 01身份证 02台胞证 02港澳居民通行证 - varchar(36)|0 - - - 法人证件号 - varchar(32)|0 - - - 商户简介 - varchar(512)|0 - - - 邮编 - varchar(12)|0 - - - 营业执照号 - varchar(32)|0 - - - 税务登记证号 - varchar(32)|0 - - - 组织机构代码 - varchar(32)|0 - - - 注册资金 - bigint(20)|0 - - - 主账户开户名 - varchar(32)|0 - - - 主账户开户行 - varchar(256)|0 - - - 主账户开户账号 - varchar(20)|0 - - - 商户邮箱 - 1 - varchar(100)|0 - - - 商户QQ/MSN - varchar(100)|0 - - - 商户省份 - 1 - varchar(80)|0 - - - 商户城市 - 1 - varchar(80)|0 - - - 经营年限 - decimal(10)|0 - - - 租赁房,自主房 - varchar(32)|0 - - - 结算扣率 - decimal(10)|0 - - - 交易保证金 - bigint(20)|0 - - - 清算日 - bigint(20)|0 - - - 结算周期 日结1,周结2,月节3 - int(11)|0 - - - 企业营业执照复印件照片 - varchar(256)|0 - - - 税务登记证照片 - varchar(256)|0 - - - 营业场所照片 - varchar(256)|0 - - - 组织机构代码照片 - varchar(256)|0 - - - 法人身份证照片 - varchar(256)|0 - - - 开户许可证照片 - varchar(256)|0 - - - 法人或者公司银行卡照片 - varchar(256)|0 - - - cm_id - 1 - - - 菜单ID - 1 - varchar(255)|0 - - - 菜单代码(包含排序) - 1 - varchar(255)|0 - - - 菜单对应url - 1 - varchar(255)|0 - - - 菜单对应url - 1 - varchar(255)|0 - - - 1 - varchar(255)|0 - '-1' - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 菜单图标 - varchar(255)|0 - - - 菜单级数 - 1 - int(11)|0 - - - 排序字段 - 1 - int(11)|0 - - - menu_id - 1 - - - 菜单ID - 1 - varchar(255)|0 - - - 资源ID - 1 - varchar(255)|0 - - - timestamp|0 - - - timestamp|0 - - - menu_id -resource_id - 1 - - - 商户ID - 1 - varchar(255)|0 - - - 商户代码 - 1 - varchar(255)|0 - - - 商户名称 - 1 - varchar(255)|0 - - - 商户地址 - 1 - varchar(500)|0 - - - 商户电话 - 1 - varchar(255)|0 - - - 商户传真 - varchar(255)|0 - - - 商户主页 - varchar(255)|0 - - - 商户token(特定商户调用接口凭证) - 1 - varchar(255)|0 - - - 商户公钥(PDM格式),发消息时候用 - 1 - varchar(2000)|0 - - - 商户私钥(PDM格式),收消息时候用(包含我们自己的公私钥) - 1 - varchar(2000)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 联系人 - 1 - varchar(255)|0 - - - 商户简称 - varchar(255)|0 - - - 01 事业单位 ,02 企业单位 03个体工商户 - 1 - varchar(4)|0 - - - 工商注册名称 - varchar(256)|0 - - - 经营范围 - varchar(256)|0 - - - 法人名称 - varchar(36)|0 - - - 法人证件类型 01身份证 02台胞证 02港澳居民通行证 - varchar(36)|0 - - - 法人证件号 - varchar(32)|0 - - - 商户简介 - varchar(512)|0 - - - 邮编 - varchar(12)|0 - - - 营业执照号 - varchar(32)|0 - - - 税务登记证号 - varchar(32)|0 - - - 组织机构代码 - varchar(32)|0 - - - 注册资金 - bigint(20)|0 - - - 主账户开户名 - varchar(32)|0 - - - 主账户开户行 - varchar(256)|0 - - - 主账户开户账号 - varchar(20)|0 - - - 商户邮箱 - varchar(100)|0 - - - 商户QQ/MSN - varchar(100)|0 - - - 商户省份 - 1 - varchar(80)|0 - - - 商户城市 - 1 - varchar(80)|0 - - - 经营年限 - decimal(10)|0 - - - 租赁房,自主房 - varchar(32)|0 - - - 所属区域组织机构 - 1 - varchar(32)|0 - - - 结算扣率 - decimal(10)|0 - - - MCC - 1 - varchar(4)|0 - - - 交易保证金 - bigint(20)|0 - - - 清算日 - bigint(20)|0 - - - 结算周期 日结1,周结2,月节3 - int(11)|0 - - - 企业营业执照复印件照片 - varchar(256)|0 - - - 税务登记证照片 - varchar(256)|0 - - - 营业场所照片 - varchar(256)|0 - - - 组织机构代码照片 - varchar(256)|0 - - - 法人身份证照片 - varchar(256)|0 - - - 开户许可证照片 - varchar(256)|0 - - - 法人或者公司银行卡照片 - varchar(256)|0 - - - 商户本身的组织机构Id - 1 - varchar(32)|0 - - - self_inst_id - - 1 - - - mnt_id - 1 - - - self_inst_id - TBL_PCARD_MERCHANT_SELF_INST_ID_UNIQUE - - - 商户ID - 1 - varchar(255)|0 - - - 商户代码 - 1 - varchar(255)|0 - - - 商户名称 - 1 - varchar(255)|0 - - - 商户地址 - 1 - varchar(500)|0 - - - 商户电话 - 1 - varchar(255)|0 - - - 商户传真 - varchar(255)|0 - - - 商户主页 - varchar(255)|0 - - - 商户token(特定商户调用接口凭证) - 1 - varchar(255)|0 - - - 商户公钥(PDM格式),发消息时候用 - 1 - varchar(2000)|0 - - - 商户私钥(PDM格式),收消息时候用(包含我们自己的公私钥) - 1 - varchar(2000)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 创建人 - varchar(255)|0 - - - 审核人 - varchar(255)|0 - - - 状态(0:新增,1:修改,2:删除(逻辑删除) - 1 - varchar(1)|0 - - - 状态(0:待审核,1:审核通过2:审核失败) - 1 - varchar(1)|0 - - - 0正常 1禁用 - 1 - varchar(1)|0 - '0' - - - 联系人 - 1 - varchar(255)|0 - - - 商户简称 - varchar(255)|0 - - - 01 事业单位 ,02 企业单位 03个体工商户 - 1 - varchar(4)|0 - - - 工商注册名称 - varchar(256)|0 - - - 经营范围 - varchar(256)|0 - - - 法人名称 - varchar(36)|0 - - - 法人证件类型 01身份证 02台胞证 02港澳居民通行证 - varchar(36)|0 - - - 法人证件号 - varchar(32)|0 - - - 商户简介 - varchar(512)|0 - - - 邮编 - varchar(12)|0 - - - 营业执照号 - varchar(32)|0 - - - 税务登记证号 - varchar(32)|0 - - - 组织机构代码 - varchar(32)|0 - - - 注册资金 - bigint(20)|0 - - - 主账户开户名 - varchar(32)|0 - - - 主账户开户行 - varchar(256)|0 - - - 主账户开户账号 - varchar(20)|0 - - - 商户邮箱 - varchar(100)|0 - - - 商户QQ/MSN - varchar(100)|0 - - - 商户省份 - 1 - varchar(80)|0 - - - 商户城市 - 1 - varchar(80)|0 - - - 经营年限 - decimal(10)|0 - - - 租赁房,自主房 - varchar(32)|0 - - - 所属区域组织机构 - 1 - varchar(32)|0 - - - 结算扣率 - decimal(10)|0 - - - MCC - 1 - varchar(4)|0 - - - 交易保证金 - bigint(20)|0 - - - 清算日 - bigint(20)|0 - - - 结算周期 日结1,周结2,月节3 - int(11)|0 - - - 企业营业执照复印件照片 - varchar(256)|0 - - - 税务登记证照片 - varchar(256)|0 - - - 营业场所照片 - varchar(256)|0 - - - 组织机构代码照片 - varchar(256)|0 - - - 法人身份证照片 - varchar(256)|0 - - - 开户许可证照片 - varchar(256)|0 - - - 法人或者公司银行卡照片 - varchar(256)|0 - - - 本身的组织机构 - varchar(32)|0 - - - mnt_id - 1 - - - 1 - varchar(32)|0 - - - bigint(20)|0 - - - varchar(32)|0 - - - varchar(32)|0 - - - id - 1 - - - 订单Id - 1 - varchar(255)|0 - - - 原所属商户订单日期(追踪对账用) - 1 - varchar(255)|0 - - - 原所属商户订单时间(追踪对账用) - 1 - varchar(255)|0 - - - 原所属商户订单代码(追踪对账用) - 1 - varchar(255)|0 - - - 订单日期(yyyyMMdd) - 1 - varchar(255)|0 - - - 订单时间(yyyyMMddHHMISS) - 1 - varchar(255)|0 - - - 订单类型,关键字段,确定订单对账户的加金还是减金 - 1 - varchar(255)|0 - - - 订单关联收单账号 - varchar(255)|0 - - - 不同渠道,当订单加金时候(账户充值,购买虚拟卡)填写 - varchar(255)|0 - - - 不同渠道的订单号,方便对账 - varchar(255)|0 - - - 订单关联虚拟账号 - varchar(255)|0 - - - 订单总金额,精确到分 - bigint(20)|0 - - - 币别(默认CNY) - varchar(255)|0 - 'CNY' - - - 1 - varchar(2)|0 - - - 订单交易响应码 - 1 - varchar(255)|0 - - - 订单交易响应描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 支付卡号,便于按卡号查询交易记录 - varchar(255)|0 - - - 优惠金额,便于统计 - bigint(20)|0 - - - bigint(20)|0 - - - 商户号 - varchar(255)|0 - - - 终端号 - varchar(20)|0 - - - 保留域 - varchar(512)|0 - - - 子交易类型 - varchar(12)|0 - - - 00 正常 01 已消费撤销 02 已消费冲正 03 已消费撤销冲正 04 已退货,05退货中 - varchar(2)|0 - '0' - - - 检索号 - varchar(64)|0 - - - 来源 - varchar(255)|0 - - - varchar(255)|0 - - - 所属银行卡 - varchar(255)|0 - - - 支付方式 00 钱包余额 01 银行卡 02 微信 03 支付宝 99 POS - varchar(255)|0 - - - 是否为扫码订单 - char(1)|0 - - - 条形码+二维码 - char(36)|0 - - - char(18)|0 - - - 机构号 - varchar(64)|0 - - - 同步返回 - varchar(512)|0 - - - 异步通知 - varchar(512)|0 - - - 应用ID - varchar(64)|0 - - - order_mnt_dt -order_mnt_code - - 1 - - - order_mnt_time - - - - order_id - 1 - - - order_mnt_dt -order_mnt_code - seq_order_mnt_code__id - - - 账户ID - 1 - varchar(255)|0 - - - 原所属商户订单日期(追踪对账用) - 1 - varchar(255)|0 - - - 原所属商户订单时间(追踪对账用) - 1 - varchar(255)|0 - - - 原所属商户订单代码(追踪对账用) - 1 - varchar(255)|0 - - - 订单日期(yyyyMMdd) - 1 - varchar(255)|0 - - - 订单时间(yyyyMMddHHMISS) - 1 - varchar(255)|0 - - - 订单类型,关键字段,确定订单对账户的加金还是减金 - 1 - varchar(255)|0 - - - 订单关联收单账号 - varchar(255)|0 - - - 不同渠道,当订单加金时候(账户充值,购买虚拟卡)填写 - 1 - varchar(255)|0 - - - 不同渠道的订单号,方便对账 - 1 - varchar(255)|0 - - - 订单关联虚拟账号 - varchar(255)|0 - - - 订单总金额,精确到分 - 1 - bigint(20)|0 - - - 币别(默认CNY) - 1 - varchar(255)|0 - 'CNY' - - - 订单状态 0 操作成功 - 1 - varchar(1)|0 - - - 订单交易响应码 - 1 - varchar(255)|0 - - - 订单交易响应描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 支付卡号,便于按卡号查询交易记录 - varchar(255)|0 - - - 优惠金额,便于统计 - bigint(20)|0 - - - 支付金额,当一个订单需要多张卡支付时使用,支付金额=order_amt时为一次支付的金额 - bigint(20)|0 - - - 商户号 - varchar(255)|0 - - - 终端号 - varchar(8)|0 - - - 保留域 - varchar(512)|0 - - - 交易类型 - varchar(12)|0 - - - 00 正常 01 已消费撤销 02 已消费冲正 03 已消费撤销冲正 - varchar(2)|0 - '0' - - - 检索号 - varchar(64)|0 - - - order_id - 1 - - - 订单类型ID - 1 - varchar(255)|0 - - - 订单类型代码 - 1 - varchar(255)|0 - - - 订单类型描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - order_type_id - 1 - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 支付金额 - 1 - bigint(20)|0 - - - 退款金额 - bigint(20)|0 - '0' - - - 支付手续费 - 1 - bigint(20)|0 - - - 支付方式 - 1 - varchar(255)|0 - - - 支付方式名称 - 1 - varchar(255)|0 - - - 00 充值 01 普通商品 消费 02 预付费卡 购买 消费 - 1 - varchar(255)|0 - - - 账户ID - 1 - varchar(255)|0 - - - 卡号 - varchar(255)|0 - - - 订单号 - 1 - varchar(255)|0 - - - 后端支付订单号 - varchar(255)|0 - - - 支付状态 0 待支付 1支付成功 2支付失败 3支付取消 4有退货 - varchar(255)|0 - - - 商品信息 - varchar(255)|0 - - - id - 1 - - - 主键 - 1 - char(36)|0 - - - 00 钱包余额 01 银行卡 02 微信 03 支付宝 - 1 - char(2)|0 - - - 支付方式名称 00 钱包余额 01 银行名称 02 微信 03 支付宝 - 1 - varchar(32)|0 - - - 支付类型ID - 1 - varchar(32)|0 - - - 排序 - 1 - bigint(20)|0 - - - 01 银行卡token号 02 微信开放号 默认- 03 支付宝 默认- - 1 - varchar(255)|0 - - - 绑定证件姓名 - varchar(32)|0 - - - 绑定身份类型 01:身份证 02:军官证 03:护照 04:回乡证 05:台胞证 06:警官证 07:士兵证 99:其它证件 - char(2)|0 - - - 绑定证件号 - varchar(32)|0 - - - 绑定卡号 - varchar(32)|0 - - - 绑定卡类型 1借记卡2信用卡3预付费卡 - char(2)|0 - - - 手机号码 - varchar(20)|0 - - - 钱包账户ID - 1 - varchar(32)|0 - - - 创建时间 - 1 - datetime|0 - - - 更新时间 - 1 - datetime|0 - - - 版本 - 1 - bigint(20)|0 - - - 绑定信息 限额信息 - varchar(255)|0 - '' - - - 卡介质类型01:银行卡02:存折03:IC卡04:对公账户取值 - char(2)|0 - - - 付款方式logo - varchar(255)|0 - - - 省份 - varchar(128)|0 - - - 城市 - varchar(128)|0 - - - pm_id - 1 - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 收款账号 - 1 - varchar(255)|0 - - - 收款银行 - 1 - varchar(255)|0 - - - 操作员(添加) - 1 - varchar(255)|0 - - - 操作员(审核) - 1 - varchar(255)|0 - - - 支付名称 - 1 - varchar(255)|0 - - - 支付图标 - 1 - varchar(255)|0 - - - 支付手续费 - 1 - bigint(20)|0 - - - 收款用户名 - 1 - varchar(255)|0 - - - 0 启用 1未启用 - 1 - char(1)|0 - - - 支付描述 - 1 - varchar(255)|0 - - - 支付手续费类型 0 费率 1笔数 - char(1)|0 - '0' - - - id - 1 - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 支付总金额=卡总金额+发票税点 - 1 - bigint(20)|0 - - - 优惠金额 - bigint(20)|0 - - - 已支付金额 - bigint(20)|0 - - - 失效支付时间 - datetime|0 - - - 0 待支付 1支付完成 2 支付取消 - 1 - char(1)|0 - - - 发票抬头 - varchar(255)|0 - - - 发票内容 - varchar(255)|0 - - - 发票税点 系统设置税点 - bigint(20)|0 - '0' - - - 是否赠送(0 赠送 1不赠送) - char(1)|0 - - - 接收者用户ID - varchar(255)|0 - - - 接收者手机号 - varchar(255)|0 - - - 账户ID - 1 - varchar(255)|0 - - - 备注 - varchar(255)|0 - - - 赠送留言 - varchar(500)|0 - - - 接收人姓名 - varchar(255)|0 - - - 赠送者姓名 - varchar(255)|0 - - - 发票收件人 - varchar(255)|0 - - - 发票收件人地址 - varchar(500)|0 - - - 发票邮政编码 - varchar(255)|0 - - - 是否申请发票 0 要发票 1不要发票 - char(1)|0 - - - varchar(64)|0 - '0405184704124' - - - id - 1 - - - 主键 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 类型ID - 1 - varchar(255)|0 - - - 购买数量 - 1 - bigint(20)|0 - - - 购买价格(单价) - 1 - bigint(20)|0 - - - 订单ID - 1 - varchar(255)|0 - - - 描述 - varchar(255)|0 - - - id - 1 - - - 资源ID - 1 - varchar(255)|0 - - - 资源代码(包含排序) - varchar(255)|0 - - - 资源对应url - 1 - varchar(255)|0 - - - 资源描述 - 1 - varchar(255)|0 - - - 创建时间 - datetime|0 - - - 最后修改时间 - datetime|0 - - - 状态(0:可用,1:不可用) - varchar(1)|0 - - - 资源图标 - varchar(255)|0 - - - 前端使用id - 1 - varchar(64)|0 - - - resource_code - - 1 - - - resource_id - 1 - - - resource_code - TBL_PCARD_RESOURCE_RESOURCE_URL - - - 角色ID - 1 - varchar(255)|0 - - - 角色代码 - 1 - varchar(255)|0 - - - 角色描述 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 角色类型 1 管理员 2商户 3卡商 - 1 - varchar(2)|0 - - - 所属机构 - 1 - varchar(32)|0 - - - role_id - 1 - - - 角色ID - 1 - varchar(255)|0 - - - 菜单ID - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - role_id -menu_id - 1 - - - 角色ID - 1 - varchar(255)|0 - - - 资源ID - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 修改时间 - 1 - datetime|0 - - - role_id -resource_id - 1 - - - 主键ID - 1 - varchar(64)|0 - - - 资源ID - varchar(64)|0 - - - 更新类型 - varchar(2)|0 - - - 更新数(正数为入库,负数为出库) - 1 - int(11)|0 - - - 创建时间 - 1 - datetime|0 - - - 备注 - 1 - varchar(256)|0 - - - 起始卡号 - 1 - varchar(64)|0 - - - 终止卡号 - 1 - varchar(64)|0 - - - 步长 - 1 - int(11)|0 - '1' - - - 卡面金额 - 1 - bigint(20)|0 - - - 库存机构 - 1 - varchar(64)|0 - - - 操作人 - 1 - varchar(100)|0 - - - 出库机构 - varchar(64)|0 - - - int(11)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - datetime|0 - - - varchar(255)|0 - - - inf_id - 1 - - - 主键 - 1 - varchar(64)|0 - - - 组织机构 - 1 - varchar(64)|0 - - - 出库数 - 1 - bigint(20)|0 - - - 入库数 - 1 - bigint(20)|0 - - - 出库金额 - 1 - bigint(20)|0 - - - 入库金额 - 1 - bigint(20)|0 - - - 创建时间 - 1 - datetime|0 - - - 更新时间 - 1 - datetime|0 - - - 库存状态 - 1 - varchar(1)|0 - - - 备注 - varchar(256)|0 - - - si_id - 1 - - - 参数ID - 1 - varchar(255)|0 - - - 参数代码 - 1 - varchar(255)|0 - - - 参数名称 - 1 - varchar(255)|0 - - - 参数数值 - 1 - varchar(500)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - para_id - 1 - - - 用户ID - 1 - varchar(255)|0 - - - 用户代码(登陆名) - 1 - varchar(255)|0 - - - 用户姓名 - 1 - varchar(255)|0 - - - 用户所属商户 - varchar(255)|0 - - - 用户角色(关联角色表role_id字段) - 1 - varchar(255)|0 - - - 用户密码 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 登录次数 - 1 - bigint(20)|0 - '0' - - - 密码是否被重置(0;初始,1:重置) - 1 - int(11)|0 - '0' - - - 用户身份 1 管理员 2商户 3卡商 - varchar(2)|0 - - - 备注 - varchar(255)|0 - - - usr_code - - 1 - - - usr_id - 1 - - - usr_code - unq_usr_code - - - 主键,主题ID - 1 - varchar(64)|0 - - - 卡主题编号(客户端使用、显示使用) - varchar(64)|0 - - - 创建卡主题组织机构ID - 1 - varchar(64)|0 - - - 用户ID - 1 - varchar(64)|0 - - - 上级主题ID 为-1 或者empty时 为一级主题 - 1 - varchar(64)|0 - '-1' - - - 排序 - 1 - decimal(5)|0 - - - 备注 - varchar(512)|0 - - - 主题名称 - 1 - varchar(64)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 0 启用 1 冻结 - 1 - varchar(1)|0 - - - 主题类型 01实体卡 02 虚拟卡 - varchar(2)|0 - - - theme_id - 1 - - - 主键 - 1 - bigint(20)|0 - 1 - - - 创建时间 - 1 - datetime|0 - - - 修改时间 - 1 - datetime|0 - - - 版本 - 1 - bigint(20)|0 - - - 会员ID - 1 - varchar(255)|0 - - - 1 - int(11)|0 - - - 证件类型 - varchar(255)|0 - - - 证件对应姓名 - varchar(255)|0 - - - 证件号 - varchar(255)|0 - - - 开户行号 - varchar(255)|0 - - - 开户行名称 - varchar(255)|0 - - - 银行卡号 - 1 - varchar(255)|0 - - - 绑定银行手机号 - varchar(255)|0 - - - 银行卡类型 - varchar(255)|0 - - - 免密金额 - 1 - decimal(21,6)|0 - - - token信息 - varchar(255)|0 - - - 备注 - varchar(255)|0 - - - 状态 0成功 1失败 - 1 - int(11)|0 - - - 编号 - 1 - varchar(255)|0 - - - logo图片 - varchar(255)|0 - - - id - 1 - - - 0000 - 1 - int(11)|0 - '0' - - - 3200 - 1 - int(11)|0 - '0' - - - 3300 - 1 - int(11)|0 - '0' - - - 3500 - 1 - int(11)|0 - '0' - - - 3600 - 1 - int(11)|0 - '0' - - - 3800 - 1 - int(11)|0 - '0' - - - 1 - int(11)|0 - '0' - - - 这一秒的总TPS - 1 - int(11)|0 - '0' - - - varchar(8)|0 - - - varchar(2)|0 - - - varchar(2)|0 - - - varchar(2)|0 - - - varchar(14)|0 - - - 虚拟卡ID - 1 - varchar(255)|0 - - - 所属制卡ID - 1 - varchar(255)|0 - - - 虚拟卡代码 - 1 - varchar(255)|0 - - - 虚拟类型代码 - 1 - varchar(255)|0 - - - 虚拟卡初始金额,精确到分 - 1 - bigint(20)|0 - - - 虚拟卡账户余额(包含账户充值和关联虚拟卡总额),精确到分 - 1 - bigint(20)|0 - - - 币别(默认CNY) - 1 - varchar(255)|0 - 'CNY' - - - 状态(0:未绑定,1:绑定 9 待激活,10待制卡) - varchar(2)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用,2废除) - 1 - varchar(1)|0 - - - 所属商户 - 1 - varchar(255)|0 - - - 有效期 - datetime|0 - - - 激活码 - varchar(64)|0 - - - 冻结金额 - bigint(20)|0 - '0' - - - 产生激活码交易订单号 - varchar(64)|0 - - - 绑定客户的ID - varchar(32)|0 - - - 绑定时间 - datetime|0 - - - 使用范围 - varchar(32)|0 - - - 发卡机构 - varchar(32)|0 - - - 是否为自定义卡 0 是 1否 - varchar(1)|0 - - - 是否支持充值 0 是 1否 - varchar(1)|0 - - - 卡片图片 - varchar(512)|0 - - - 交易次数 - bigint(20)|0 - '0' - - - 版本 - bigint(20)|0 - '0' - - - vcard_code - - 1 - - - vcard_id - 1 - - - vcard_code - VCARD_CODE_UNIQUE - - - 制卡ID - 1 - varchar(255)|0 - - - 虚拟类型代码 - 1 - varchar(255)|0 - - - 制卡描述 - varchar(500)|0 - - - 所属商户//暂不用 - varchar(255)|0 - - - 虚拟卡数目 - 1 - int(11)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 制卡人 - 1 - varchar(500)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 状态(0:待审核,1:审核通过) - 1 - varchar(11)|0 - - - 组织机构ID - 1 - varchar(30)|0 - - - 起始制卡数字 - varchar(30)|0 - - - 偏移量 - int(11)|0 - '1' - - - 委托卡商 - varchar(32)|0 - - - 起始卡号 - varchar(20)|0 - - - 终止卡号 - varchar(20)|0 - - - 01 实体卡 02 虚拟卡 - 1 - varchar(2)|0 - '01' - - - 0 配送完成 1待确认制卡 2正在制卡 3 设置配送 9 拒绝制卡 - 1 - varchar(1)|0 - '9' - - - 申请机构id - varchar(32)|0 - - - 操作人姓名 - varchar(255)|0 - - - varchar(255)|0 - - - vcard_make_id - 1 - - - 虚拟卡类型ID - 1 - varchar(255)|0 - - - 虚拟卡类型代码 - varchar(255)|0 - - - 虚拟卡类型名称 - 1 - varchar(255)|0 - - - 虚拟卡类型描述 - varchar(500)|0 - - - 所属商户(权限隔离,统计用) - 1 - varchar(255)|0 - - - 虚拟卡类型规则,用来发卡计算优惠等,暂时没有 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 状态(0:可用,1:不可用) - 1 - varchar(1)|0 - - - 卡类型图片 - varchar(255)|0 - - - 卡类金额 - bigint(20)|0 - - - 卡币种 - varchar(255)|0 - - - 卡有效期 - 1 - bigint(20)|0 - - - 卡有效期单位 1、年 - 1 - int(11)|0 - - - 状态(0 启用 1禁用) - 1 - varchar(1)|0 - - - 卡种类 01:实体卡,02:虚拟卡 - 1 - varchar(30)|0 - - - 卡介质 00 CPU卡 01 M1卡 02 磁条卡,03:4442 卡 - varchar(30)|0 - - - 卡片限制额度 - 1 - bigint(20)|0 - - - 卡号规则 - 1 - varchar(30)|0 - - - 是否支持充值 - 1 - varchar(1)|0 - '0' - - - 主题ID,空为无主题,有值则为二级主题 - varchar(64)|0 - - - 是否实名 0 实名 1非实名 - 1 - varchar(1)|0 - '0' - - - 是否自定义 0自定义卡 1非自定义卡(自定义卡的默认金额为0) - varchar(1)|0 - - - vtype_id - 1 - - - 卡类型规则ID - 1 - varchar(255)|0 - - - 积分类,红包类,优惠券,返券类,现金类等 - 1 - varchar(255)|0 - - - 市场价 - 1 - bigint(20)|0 - - - 出售价格 - 1 - bigint(20)|0 - - - 成本价 - 1 - bigint(20)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后更新时间 - 1 - datetime|0 - - - 0 未审核 1审核通过 2审核失败 - char(1)|0 - - - 版本 - bigint(20)|0 - - - 0 启用 1禁用 - 1 - varchar(1)|0 - - - 规则名称 - 1 - varchar(255)|0 - - - rule_id - 1 - - - 卡类型规则ID - 1 - varchar(255)|0 - - - 积分类,红包类,优惠券,返券类,现金类等 - 1 - varchar(255)|0 - - - 市场价 - 1 - bigint(20)|0 - - - 出售价格 - 1 - bigint(20)|0 - - - 成本价 - 1 - bigint(20)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后更新时间 - 1 - datetime|0 - - - 0 未审核 1审核通过 2审核失败 - char(1)|0 - - - 版本 - bigint(20)|0 - - - 创建用户 - varchar(255)|0 - - - varchar(255)|0 - - - 状态(0:新增,1:修改,2:删除(逻辑删除) - char(1)|0 - - - 0 启用 1禁用 - 1 - varchar(1)|0 - - - 规则名称 - 1 - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - varchar(255)|0 - - - rule_id - 1 - - - 虚拟卡类型ID - 1 - varchar(255)|0 - - - 虚拟卡类型代码 - varchar(255)|0 - - - 虚拟卡类型名称 - 1 - varchar(255)|0 - - - 虚拟卡类型描述 - varchar(500)|0 - - - 所属商户(权限隔离,统计用) - varchar(255)|0 - - - 虚拟卡类型规则,用来发卡计算优惠等,暂时没有 - 1 - varchar(255)|0 - - - 创建时间 - 1 - datetime|0 - - - 最后修改时间 - 1 - datetime|0 - - - 创建人 - 1 - varchar(255)|0 - - - 审核人 - 1 - varchar(255)|0 - - - 状态(0:新增,1:修改,2:删除(逻辑删除) - 1 - varchar(1)|0 - - - 状态(0:待审核,1:审核通过 2:审核未通过) - 1 - varchar(1)|0 - - - 卡类型图片 - varchar(255)|0 - - - 卡类金额 - bigint(20)|0 - - - 币种 - varchar(255)|0 - - - 有效期时间 - bigint(20)|0 - - - 有效期单位 - int(11)|0 - - - 状态(0:启用,1:禁用) - 1 - varchar(1)|0 - - - 卡种类 01:实体卡,02:虚拟卡 - 1 - varchar(30)|0 - - - 卡介质 00 CPU卡 01 M1卡 02 磁条卡,03:4442 卡 - varchar(30)|0 - - - 卡片限制额度 - 1 - bigint(20)|0 - - - 卡号规则 - 1 - varchar(30)|0 - - - 是否支持充值 0支持 1不支持 - 1 - varchar(1)|0 - '0' - - - 主题 - varchar(32)|0 - - - 是否实名 0 实名 1非实名 - 1 - varchar(1)|0 - '0' - - - 是否自定义 0自定义卡 1非自定义卡(自定义卡的默认金额为0) - varchar(1)|0 - - - vtype_id - 1 - - - 1 - int(11)|0 - - - 1 - varchar(255)|0 - - - varchar(255)|0 - - - ID - 1 - - - RETURN - varchar(4000)|0 - - - IN - varchar(4000)|0 - - - IN - varchar(5)|0 - - - IN - int(11)|0 - - - RETURN - int(11)|0 - - - IN - varchar(4000)|0 - - - IN - varchar(5)|0 - - - RETURN - varchar(4000)|0 - - - IN - varchar(255)|0 - - - RETURN - varchar(4000)|0 - - - IN - varchar(255)|0 - - - RETURN - varchar(4000)|0 - - - IN - varchar(255)|0 - - - RETURN - varchar(4000)|0 - - - IN - varchar(255)|0 - - - RETURN - varchar(4000)|0 - - - IN - varchar(255)|0 - - - IN - varchar(4000)|0 - - - IN - varchar(5)|0 - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/deployment.xml b/JPA-Demo/.idea/deployment.xml deleted file mode 100644 index 25a0408..0000000 --- a/JPA-Demo/.idea/deployment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/encodings.xml b/JPA-Demo/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/JPA-Demo/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/JPA-Demo/.idea/libraries/Maven__antlr_antlr_2_7_7.xml deleted file mode 100644 index b8d93d8..0000000 --- a/JPA-Demo/.idea/libraries/Maven__antlr_antlr_2_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml b/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml deleted file mode 100644 index a8b0d9c..0000000 --- a/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml b/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml deleted file mode 100644 index 1c76d0b..0000000 --- a/JPA-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml b/JPA-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml deleted file mode 100644 index 4a7f94b..0000000 --- a/JPA-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml b/JPA-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml deleted file mode 100644 index 3888159..0000000 --- a/JPA-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml b/JPA-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml deleted file mode 100644 index 073c2de..0000000 --- a/JPA-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/JPA-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/JPA-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml b/JPA-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml deleted file mode 100644 index 14681ee..0000000 --- a/JPA-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__junit_junit_4_10.xml b/JPA-Demo/.idea/libraries/Maven__junit_junit_4_10.xml deleted file mode 100644 index ed8bf5f..0000000 --- a/JPA-Demo/.idea/libraries/Maven__junit_junit_4_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml b/JPA-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml deleted file mode 100644 index b984e59..0000000 --- a/JPA-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml b/JPA-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml deleted file mode 100644 index 83cba3e..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml b/JPA-Demo/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml deleted file mode 100644 index a6f25db..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_9.xml b/JPA-Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_9.xml deleted file mode 100644 index 112f7ca..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml b/JPA-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml deleted file mode 100644 index acdf443..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml deleted file mode 100644 index ce34f42..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_core_5_1_0_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_core_5_1_0_Final.xml deleted file mode 100644 index a871e06..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_core_5_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_5_1_0_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_5_1_0_Final.xml deleted file mode 100644 index 9cf1471..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_5_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml deleted file mode 100644 index 6492b2b..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml b/JPA-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml deleted file mode 100644 index c21c9b0..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_jboss_jandex_2_0_0_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_jboss_jandex_2_0_0_Final.xml deleted file mode 100644 index a74dcfd..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_jboss_jandex_2_0_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml b/JPA-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml deleted file mode 100644 index 186d87f..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml b/JPA-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml deleted file mode 100644 index 282edcb..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml b/JPA-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml deleted file mode 100644 index 1e67260..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_commons_1_12_4_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_commons_1_12_4_RELEASE.xml deleted file mode 100644 index f1c6daa..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_commons_1_12_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_1_10_4_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_1_10_4_RELEASE.xml deleted file mode 100644 index 3d7ae60..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_1_10_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_0_RELEASE.xml deleted file mode 100644 index 80294b1..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_0_RELEASE.xml deleted file mode 100644 index 09b7e0c..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_0_RELEASE.xml deleted file mode 100644 index 3c94644..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_0_RELEASE.xml deleted file mode 100644 index ef485cc..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_0_RELEASE.xml deleted file mode 100644 index 7300f9e..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_0_RELEASE.xml deleted file mode 100644 index 099312a..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_0_RELEASE.xml deleted file mode 100644 index 7d27aaf..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_orm_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_orm_4_3_0_RELEASE.xml deleted file mode 100644 index c400a2d..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_orm_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_0_RELEASE.xml deleted file mode 100644 index 89e6704..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_0_RELEASE.xml b/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_0_RELEASE.xml deleted file mode 100644 index 61084b2..0000000 --- a/JPA-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml b/JPA-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml deleted file mode 100644 index c36e717..0000000 --- a/JPA-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/misc.xml b/JPA-Demo/.idea/misc.xml deleted file mode 100644 index adfbe50..0000000 --- a/JPA-Demo/.idea/misc.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/modules.xml b/JPA-Demo/.idea/modules.xml deleted file mode 100644 index 7b75f0c..0000000 --- a/JPA-Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/sqldialects.xml b/JPA-Demo/.idea/sqldialects.xml deleted file mode 100644 index af0e43a..0000000 --- a/JPA-Demo/.idea/sqldialects.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/uiDesigner.xml b/JPA-Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/JPA-Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/.idea/workspace.xml b/JPA-Demo/.idea/workspace.xml deleted file mode 100644 index 52f7d02..0000000 --- a/JPA-Demo/.idea/workspace.xml +++ /dev/null @@ -1,1768 +0,0 @@ - - - - - - - - - - - - - cn.mrdear.repository.PcardOrderRepository - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\NL\AppData\Roaming\Subversion - - - - - 1477877210784 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TestJPA:war - - - - - - - - Web - - - - - - - - app - - - - - - - - 1.8 - - - - - - - - Spring|TestJPA - - - - - - - - 1.8 - - - - - - - - Maven: commons-logging:commons-logging:1.2 - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/TestJPA.iml b/JPA-Demo/TestJPA.iml deleted file mode 100644 index 4db1ae4..0000000 --- a/JPA-Demo/TestJPA.iml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - file://$MODULE_DIR$/src/main/resources/spring/applicationContext.xml - file://$MODULE_DIR$/src/test/resources/spring/applicationContext.xml - file://$MODULE_DIR$/src/test/resources/spring/applicationContext.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/JPA-Demo/doc/SpringDataJPA\345\255\246\344\271\240\350\256\260\345\275\225(\345\233\233)--\344\275\277\347\224\250QueryDSL.md" "b/JPA-Demo/doc/SpringDataJPA\345\255\246\344\271\240\350\256\260\345\275\225(\345\233\233)--\344\275\277\347\224\250QueryDSL.md" new file mode 100644 index 0000000..f5e6277 --- /dev/null +++ "b/JPA-Demo/doc/SpringDataJPA\345\255\246\344\271\240\350\256\260\345\275\225(\345\233\233)--\344\275\277\347\224\250QueryDSL.md" @@ -0,0 +1,287 @@ +# SpringDataJPA学习记录(四)--使用QueryDSL + +标签(空格分隔): springJPA + +--- + +1.问题的提出 +------- + +最近再看公司项目中有如下代码,看了后简直不能忍.缺点列出来的话,如下: +1. 返回类型Object[]数组,至于每一个下标对应哪个字段,没法直观的看到,例如object[11]是什么类型?字段名是什么?这个就无法直观得知. +2. sql中复杂的关系导致不可维护,每一个接手的人都要研究sql半天 +3. 动态拼接条件导致类似的代码会大量重复,所以IDEA打开的时候黄了半边天. +4. 该查询为分页查询,这样写的话,还要再copy一个count查询才能拿到总数,无疑又是代码重复. +5. JPA这种框架目的就是少些原生sql语句,大量这样的操作的话,还不如使用dbUtil这样的工具类查询. +``` + @Override + public List findByPcardCardOrder( + PcardCardOrder pcardCardOrder,String applyInstName2,Integer page, Integer rows) { + StringBuffer sql = new StringBuffer( + "SELECT p.*" + +",p2.vcard_make_des" + +",p3.cardnum_rule_id,p3.vtype_nm" + +",p4.cn_card_bin,p4.cn_nm" + +",p5.inst_id,p5.inst_name,p5.apply_range,p5.card_name,p5.card_type,p5.bin_card_material" + +",p6.inst_name AS apply_inst_name " + +",p7.inst_name AS apply_inst_name2" + + ",p8.inst_name as receive_inst_name" + + " FROM " + +" tbl_pcard_card_order p LEFT JOIN tbl_pcard_vcard_make p2 ON p.make_id = p2.vcard_make_id" + +" LEFT JOIN tbl_pcard_vtype p3 ON p2.vcard_make_vtype_id=p3.vtype_id" + +" LEFT JOIN tbl_pcard_cardnum_rule p4 ON p3.cardnum_rule_id=p4.cn_id" + +" LEFT JOIN tbl_pcard_cardbin p5 ON p4.cn_card_bin=p5.card_bin" + +" LEFT JOIN tbl_pcard_institution p6 ON p5.apply_range=p6.inst_id" + +" LEFT JOIN tbl_pcard_institution p7 ON p.apply_inst_id=p7.inst_id" + +" LEFT JOIN tbl_pcard_institution p8 ON p.receive_inst=p8.inst_id" + +" WHERE 1=1 "); + int i = 1; + Map map = new HashMap(); + + if (!StringUtils.isEmpty(pcardCardOrder.getCordId())) { + sql.append(" and p.cord_id="); + sql.append("?" + i); + map.put(i + "", pcardCardOrder.getCordId()); + i++; + } + if (!StringUtils.isEmpty(pcardCardOrder.getAppointMchtcard())) { + sql.append(" and p.appoint_mchtcard="); + sql.append("?" + i); + map.put(i + "", pcardCardOrder.getAppointMchtcard()); + i++; + } + + if (!StringUtils.isEmpty(pcardCardOrder.getMakeId())) { + sql.append(" and p.make_id like "); + sql.append("?" + i); + map.put(i + "","%%"+ pcardCardOrder.getMakeId()+"%%"); + i++; + } + + if (!StringUtils.isEmpty(applyInstName2)) { + sql.append(" and p7.inst_name like "); + sql.append("?"+i); + map.put(i+"","%%"+applyInstName2+"%%"); + i++; + } + + sql.append(" order by p.ct_dm desc"); + Query query = entityManager.createNativeQuery(sql.toString()); + for (String key : map.keySet()) { + query.setParameter(key, map.get(key)); + } + if (page != null && rows != null) { + query.setFirstResult(rows * (page - 1)); + query.setMaxResults(rows); + } + return query.getResultList(); + } +``` + + +---------- + +2.使用QueryDSL +---------- +queryDSL就可以避免上面全部的问题,他有以下特点: +1. QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。 +2. Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。 +3. 借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前QueryDSL支持的平台包括JPA,JDO,SQL,Java Collections,RDF,Lucene,Hibernate Search。 +4. 官网地址:[点击进入][1] + +###2.1配置到项目 +首先对于queryDSL有两个版本,`com.mysema.querydsl`和`com.querydsl`,前者是3.X系列后者是4.X系列,这里使用的是后者. + +第一步:Maven引入依赖: +``` + + + com.querydsl + querydsl-jpa + ${querydsl.version} + + + com.querydsl + querydsl-apt + ${querydsl.version} + provided + + +``` +第二步:加入插件,用于生成查询实例 +``` + + + com.mysema.maven + apt-maven-plugin + 1.1.3 + + + + process + + + target/generated-sources/java + com.querydsl.apt.jpa.JPAAnnotationProcessor + + + + +``` +执行mvn compile之后,可以找到该`target/generated-sources/java`,然后IDEA标示为源代码目录即可. +![1.jpg](http://upload-images.jianshu.io/upload_images/2148449-752f2ecd91207128.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) + +###2.2 单表动态分页查询 +Spring Data JPA中提供了QueryDslPredicateExecutor接口,用于支持QueryDSL的查询操作,这样的话单表动态查询就可以参考如下代码: +``` + //动态条件 + QTCity qtCity = QTCity.tCity; + //该Predicate为querydsl下的类,支持嵌套组装复杂查询条件 + Predicate predicate = qtCity.id.longValue().lt(3) + .and(qtCity.name.like("shanghai")); + //分页排序 + Sort sort = new Sort(new Sort.Order(Sort.Direction.ASC,"id")); + PageRequest pageRequest = new PageRequest(0,10,sort); + //查找结果 + Page tCityPage = tCityRepository.findAll(predicate,pageRequest); +``` +###2.3多表动态查询 +queryDSL对多表查询提供了一个很好地封装,看下面代码: +``` + /** + * 关联查询示例,查询出城市和对应的旅店 + * @param predicate 查询条件 + * @return 查询实体 + */ + @Override + public List findCityAndHotel(Predicate predicate) { + JPAQueryFactory queryFactory = new JPAQueryFactory(em); + JPAQuery jpaQuery = queryFactory.select(QTCity.tCity,QTHotel.tHotel) + .from(QTCity.tCity) + .leftJoin(QTHotel.tHotel) + .on(QTHotel.tHotel.city.longValue().eq(QTCity.tCity.id.longValue())); + jpaQuery.where(predicate); + return jpaQuery.fetch(); + } +``` +城市表左连接旅店表,当该旅店属于这个城市时查询出两者的详细字段,存放到一个Tuple的多元组中.相比原生sql,简单清晰了很多. +那么该怎么调用这个方法呢? +``` + @Test + public void findByLeftJoin(){ + QTCity qtCity = QTCity.tCity; + QTHotel qtHotel = QTHotel.tHotel; + //查询条件 + Predicate predicate = qtCity.name.like("shanghai"); + //调用 + List result = tCityRepository.findCityAndHotel(predicate); + //对多元组取出数据,这个和select时的数据相匹配 + for (Tuple row : result) { + System.out.println("qtCity:"+row.get(qtCity)); + System.out.println("qtHotel:"+row.get(qtHotel)); + System.out.println("--------------------"); + } + System.out.println(result); + } +``` +下面是自动生成的sql语句: +``` +select + tcity0_.id as id1_0_0_, + thotel1_.id as id1_1_1_, + tcity0_.country as country2_0_0_, + tcity0_.map as map3_0_0_, + tcity0_.name as name4_0_0_, + tcity0_.state as state5_0_0_, + thotel1_.address as address2_1_1_, + thotel1_.city as city3_1_1_, + thotel1_.name as name4_1_1_ + from + t_city tcity0_ + left outer join + t_hotel thotel1_ + on ( + cast(thotel1_.city as signed)=cast(tcity0_.id as signed) + ) + where + tcity0_.name like ? escape '!' +``` + +###2.4 多表动态分页查询 +分页查询对于queryDSL无论什么样的sql只需要写一遍,会自动转换为相应的count查询,也就避免了文章开始的问题4. +``` + @Override + public QueryResults findCityAndHotelPage(Predicate predicate,Pageable pageable) { + JPAQueryFactory queryFactory = new JPAQueryFactory(em); + JPAQuery jpaQuery = queryFactory.select(QTCity.tCity.id,QTHotel.tHotel) + .from(QTCity.tCity) + .leftJoin(QTHotel.tHotel) + .on(QTHotel.tHotel.city.longValue().eq(QTCity.tCity.id.longValue())) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()); + return jpaQuery.fetchResults(); + } +``` +和上面不同之处在于这里使用了`offset`和`limit`限制查询结果.并且返回一个QueryResults,该类会自动实现count查询和结果查询,并进行封装. +调用形式如下: +``` + @Test + public void findByLeftJoinPage(){ + QTCity qtCity = QTCity.tCity; + QTHotel qtHotel = QTHotel.tHotel; + //条件 + Predicate predicate = qtCity.name.like("shanghai"); + //分页 + PageRequest pageRequest = new PageRequest(0,10); + //调用查询 + QueryResults result = tCityRepository.findCityAndHotelPage(predicate,pageRequest); + //结果取出 + for (Tuple row : result.getResults()) { + System.out.println("qtCity:"+row.get(qtCity)); + System.out.println("qtHotel:"+row.get(qtHotel)); + System.out.println("--------------------"); + } + //取出count查询总数 + System.out.println(result.getTotal()); + } +``` +生成的原生sql,当该count查询结果为0的话,则直接返回,并不会再次查询结果: +``` + select + count(tcity0_.id) as col_0_0_ + from + t_city tcity0_ + left outer join + t_hotel thotel1_ + on ( + cast(thotel1_.city as signed)=cast(tcity0_.id as signed) + ) +``` +生成的原生sql: +``` + select + tcity0_.id as col_0_0_, + thotel1_.id as col_1_0_, + thotel1_.id as id1_1_, + thotel1_.address as address2_1_, + thotel1_.city as city3_1_, + thotel1_.name as name4_1_ + from + t_city tcity0_ + left outer join + t_hotel thotel1_ + on ( + cast(thotel1_.city as signed)=cast(tcity0_.id as signed) + ) limit ? +``` + +3.总结 +---- +仿照上面的例子就可以很好地对文章开头的sql改造,无非是多了几个leftJoin,条件的组装放到service层,或者一个专门组装条件的工厂都可以,对于Repository来说只需要一个predicate即可. + +近期逐渐把公司项目切换为queryDSL,个人感觉和Spring Data JPA是绝配.文章写得不是很详细,更多请参考Demo代码: + +github: https://github.com/nl101531/JavaWEB + + + [1]: http://www.querydsl.com/static/querydsl/4.1.3/reference/html_single/ \ No newline at end of file diff --git a/JPA-Demo/doc/sql.sql b/JPA-Demo/doc/sql.sql index e69dc00..0a431b6 100644 --- a/JPA-Demo/doc/sql.sql +++ b/JPA-Demo/doc/sql.sql @@ -1,6 +1,6 @@ /* SQLyog Ultimate v12.08 (64 bit) -MySQL - 5.6.19-log : Database - pcard +MySQL - 5.6.24 : Database - test ********************************************************************* */ @@ -13,56 +13,46 @@ MySQL - 5.6.19-log : Database - pcard /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -CREATE DATABASE /*!32312 IF NOT EXISTS*/`pcard` /*!40100 DEFAULT CHARACTER SET utf8 */; - -USE `pcard`; - -/*Table structure for table `tbl_pcard_order` */ - -CREATE TABLE `tbl_pcard_order` ( - `order_id` varchar(255) NOT NULL COMMENT '订单Id', - `order_mnt_dt` varchar(255) NOT NULL COMMENT '原所属商户订单日期(追踪对账用)', - `order_mnt_time` varchar(255) NOT NULL COMMENT ' 原所属商户订单时间(追踪对账用)', - `order_mnt_code` varchar(255) NOT NULL COMMENT '原所属商户订单代码(追踪对账用)', - `order_dt` varchar(255) NOT NULL COMMENT '订单日期(yyyyMMdd)', - `order_time` varchar(255) NOT NULL COMMENT '订单时间(yyyyMMddHHMISS)', - `order_type_id` varchar(255) NOT NULL COMMENT '订单类型,关键字段,确定订单对账户的加金还是减金', - `acq_acct_id` varchar(255) DEFAULT NULL COMMENT '订单关联收单账号', - `acq_channel_id` varchar(255) DEFAULT NULL COMMENT '不同渠道,当订单加金时候(账户充值,购买虚拟卡)填写', - `order_acq_channel_code` varchar(255) DEFAULT NULL COMMENT '不同渠道的订单号,方便对账', - `acct_id` varchar(255) DEFAULT NULL COMMENT '订单关联虚拟账号', - `order_amt` bigint(20) DEFAULT NULL COMMENT '订单总金额,精确到分', - `curr_cd` varchar(255) DEFAULT 'CNY' COMMENT '币别(默认CNY)', - `order_st` varchar(2) NOT NULL, - `order_resp_cd` varchar(255) NOT NULL COMMENT '订单交易响应码', - `order_resp_msg` varchar(500) NOT NULL COMMENT '订单交易响应描述', - `create_time` datetime NOT NULL COMMENT '创建时间', - `last_modify_time` datetime NOT NULL COMMENT '最后修改时间', - `st` varchar(1) NOT NULL COMMENT '状态(0:可用,1:不可用)', - `vcard_id` varchar(255) DEFAULT NULL COMMENT '支付卡号,便于按卡号查询交易记录', - `dis_amt` bigint(20) DEFAULT NULL COMMENT '优惠金额,便于统计', - `pay_amt` bigint(20) DEFAULT NULL, - `order_mnt_id` varchar(255) DEFAULT NULL COMMENT '商户号', - `term_id` varchar(20) DEFAULT NULL COMMENT '终端号', - `order_reserved` varchar(512) DEFAULT NULL COMMENT '保留域', - `txn_type` varchar(12) DEFAULT NULL COMMENT '子交易类型', - `resp_st` varchar(2) DEFAULT '0' COMMENT '00 ', - `ref_no` varchar(64) DEFAULT NULL COMMENT '检索号', - `sources` varchar(255) DEFAULT NULL COMMENT '来源', - `versions` varchar(255) DEFAULT NULL, - `bank_card` varchar(255) DEFAULT NULL COMMENT '所属银行卡', - `pay_type` varchar(255) DEFAULT NULL COMMENT '支付方式 ', - `is_scancode` char(1) DEFAULT NULL COMMENT '是否为扫码订单', - `scancode` char(36) DEFAULT NULL COMMENT '条形码+二维码', - `eancode` char(18) DEFAULT NULL, - `inst_id` varchar(64) DEFAULT NULL COMMENT '机构号', - `return_url` varchar(512) DEFAULT NULL COMMENT '同步返回', - `notify_url` varchar(512) DEFAULT NULL COMMENT '异步通知', - `app_id` varchar(64) DEFAULT NULL COMMENT '应用ID', - PRIMARY KEY (`order_id`), - UNIQUE KEY `seq_order_mnt_code__id` (`order_mnt_dt`,`order_mnt_code`) USING HASH, - KEY `UNQ_mnt_time` (`order_mnt_time`) USING HASH -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `test`; + +/*Table structure for table `t_city` */ + +CREATE TABLE `t_city` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(30) DEFAULT NULL, + `state` varchar(30) DEFAULT NULL, + `country` varchar(30) DEFAULT NULL, + `map` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; + +/*Data for the table `t_city` */ + +LOCK TABLES `t_city` WRITE; + +insert into `t_city`(`id`,`name`,`state`,`country`,`map`) values (2,'ShangHai','China.ShangHai','China','1'),(3,'NanJing','China.NanJing','China','1'),(4,'BeiJing','China.BeiJing','China','1'),(5,'GuangDong','China.GuangDong','China','1'),(6,'ShanDong','China.ShanDong','China','0'); + +UNLOCK TABLES; + +/*Table structure for table `t_hotel` */ + +CREATE TABLE `t_hotel` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(30) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `city` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1; + +/*Data for the table `t_hotel` */ + +LOCK TABLES `t_hotel` WRITE; + +insert into `t_hotel`(`id`,`name`,`address`,`city`) values (1,'ShangHai.HutaiLu','Seven.Day',2),(2,'ShangHai.HongQiao','MoTai',2),(3,'ShangHai.JiangXi','HanTing',2),(4,'ShangHai.RenMin','Eight.Day',2),(5,'ShangHai','Nine.Day',2),(8,'BeiJing','Seven.Day',3),(9,'BeiJing','Nine.Day',3),(10,'NanJing','MoTai',4),(11,'NanJing','HanTing',4),(12,'GuangDong','Nine.Day',5),(13,'GuangDong','Eight.Day',5); + +UNLOCK TABLES; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; diff --git a/JPA-Demo/pom.xml b/JPA-Demo/pom.xml index 76956c5..c9cbbc4 100644 --- a/JPA-Demo/pom.xml +++ b/JPA-Demo/pom.xml @@ -1,11 +1,11 @@ 4.0.0 - cn.mrdear.testjpa - testjpa + cn.mrdear + JPA-Demo war 1.0-SNAPSHOT - testjpa Maven Webapp + JPA-Demo http://maven.apache.org @@ -13,6 +13,7 @@ 5.1.34 4.3.0.RELEASE 5.1.0.Final + 4.1.4 @@ -57,6 +58,11 @@ spring-web ${spring.version} + + org.springframework + spring-test + ${spring.version} + @@ -65,11 +71,6 @@ druid 1.0.19 - - com.alibaba - fastjson - 1.2.14 - @@ -92,7 +93,6 @@ ${hibernate.version} - mysql @@ -126,7 +126,7 @@ junit junit - 4.10 + 4.12 test @@ -137,10 +137,42 @@ 3.3.2 + + + com.querydsl + querydsl-jpa + ${querydsl.version} + + + com.querydsl + querydsl-apt + ${querydsl.version} + provided + + + testjpa + + + com.mysema.maven + apt-maven-plugin + 1.1.3 + + + + process + + + target/generated-sources/java + com.querydsl.apt.jpa.JPAAnnotationProcessor + + + + + org.apache.maven.plugins maven-compiler-plugin @@ -149,6 +181,7 @@ 1.8 + diff --git a/JPA-Demo/src/main/java/cn/mrdear/entity/PcardOrder.java b/JPA-Demo/src/main/java/cn/mrdear/entity/PcardOrder.java deleted file mode 100644 index a23c86f..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/entity/PcardOrder.java +++ /dev/null @@ -1,447 +0,0 @@ -/* - * Copyright 2016, China MPay Co., Ltd. All right reserved. - * - * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF CHINA MPAY CO., LTD. THE CONTENTS OF THIS FILE MAY NOT BE - * DISCLOSED TO THIRD PARTIES, COPIED OR DUPLICATED IN ANY FORM, IN WHOLE OR IN PART, WITHOUT THE PRIOR WRITTEN - * PERMISSION OF CHINA MPAY CO., LTD. - */ -package cn.mrdear.entity; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - - -/** - * 交易订单流水表,是否有冲正,取消,终止之类 17 - * - * */ -@Entity -@Table(name = "tbl_pcard_order") -public class PcardOrder implements java.io.Serializable { - /** - * - */ - private static final long serialVersionUID = 1L; - @Id - @Column(name = "order_id") - private String orderId;// 订单ID - @Column(name = "order_mnt_dt") - private String orderMntDt;// 原所属商户订单日期(追踪对账用) - @Column(name = "order_mnt_time") - private String orderMntTime;// 原所属商户订单时间(追踪对账用) - @Column(name = "order_mnt_code") - private String orderMntCode;// 商户提交的交易订单号 - @Column(name = "order_mnt_id") - private String orderMntId; // 原所属商户号 - @Column(name = "order_dt") - private String orderDt;// 订单日期(yyyyMMdd) - @Column(name = "order_time") - private String orderTime;// 订单时间(yyyyMMddHHMISS) - @Column(name = "order_type_id") - private String orderTypeId;// 订单类型,关键字段,确定订单对账户的加金还是减金 - @Column(name = "acq_acct_id") - private String acqAcctId;// 订单关联收单账号 - @Column(name = "acq_channel_id") - private String acqChannelId;// 不同渠道,当订单加金时候(账户充值,购买虚拟卡)填写 - @Column(name = "order_acq_channel_code") - private String orderAcqChannelCode;// 不同渠道的订单号,方便对账 - @Column(name = "acct_id") - private String acctId;// 订单关联虚拟账号 - @Column(name = "order_amt") - private Long orderAmt; // 订单金额,精确到分 - @Column(name = "curr_cd") - private String currCd;// 订单币别,默认CNY - @Column(name = "order_st") - private String orderSt;// 订单状态 - @Column(name = "order_resp_cd") - private String orderRespCd;// 订单交易响应码 - @Column(name = "order_resp_msg") - private String orderRespMsg;// 订单交易响应描述 - @Column(name = "create_time") - private Date createTime; // 创建时间 - @Column(name = "last_modify_time") - private Date lastModifyTime;// 最后修改时间 - @Column(name = "st") - private String st; // 状态(0:可用,1:不可用) - @Column(name = "vcard_id") - private String vcardId; // 支付卡号 - @Column(name = "dis_amt") - private Long disAmt; // 优惠金额,便于统计 - @Column(name = "pay_amt") - private Long payAmt; // 支付金额 - @Column(name = "term_id") - private String termId;// 终端号 - // term_id,order_reserved,retrivl_ref - @Column(name = "order_reserved") - private String orderReserved;// 保留域 - @Column(name = "txn_type") - private String txnType;// 交易类型 - @Column(name = "resp_st") - private String respSt;// 状态00 正常 01 已消费撤销 02 已消费冲正 03 已消费撤销冲正 04 已退貨 - @Column(name = "ref_no") - private String refNo;// 检索引用号 - @Column(name = "versions") - private String versions; - @Column(name = "sources") - private String sources; - @Column(name = "bank_card") - // 所属银行 - private String bank_card; - - // 支付方式 - @Column(name = "pay_type") - private String pay_type; - @Column(name = "is_scancode") - private String isScancode;// 是否为扫码订单 - @Column(name = "scancode") - private String scancode;// 扫码编号 - @Column(name = "eancode") - private String eancode;// 条形码 - @Column(name = "inst_id") - private String instId; // 机构号 - @Column(name = "return_url") - private String returnUrl; // 同步返回地址 - @Column(name = "notify_url") - private String notifyUrl;// 异步通知地址 - @Column(name = "app_id") - private String appId; // 应用ID - - public void setAppId(String appId) { - this.appId = appId; - } - - public String getAppId() { - return appId; - } - - public void setReturnUrl(String returnUrl) { - this.returnUrl = returnUrl; - } - - public String getReturnUrl() { - return returnUrl; - } - - public void setNotifyUrl(String notifyUrl) { - this.notifyUrl = notifyUrl; - } - - public String getNotifyUrl() { - return notifyUrl; - } - - public void setInstId(String instId) { - this.instId = instId; - } - - public String getInstId() { - return instId; - } - - public void setIsScancode(String isScancode) { - this.isScancode = isScancode; - } - - public String getIsScancode() { - return isScancode; - } - - public void setScancode(String scancode) { - this.scancode = scancode; - } - - public void setEancode(String eancode) { - this.eancode = eancode; - } - - public String getEancode() { - return eancode; - } - - public String getScancode() { - return scancode; - } - - public String getBank_card() { - return bank_card; - } - - public void setBank_card(String bank_card) { - this.bank_card = bank_card; - } - - public String getPay_type() { - return pay_type; - } - - public void setPay_type(String pay_type) { - this.pay_type = pay_type; - } - - public String getVersions() { - return versions; - } - - public void setVersions(String versions) { - this.versions = versions; - } - - public String getSources() { - return sources; - } - - public void setSources(String sources) { - this.sources = sources; - } - - public void setRefNo(String refNo) { - this.refNo = refNo; - } - - public String getRefNo() { - return refNo; - } - - public void setOrderReserved(String orderReserved) { - this.orderReserved = orderReserved; - } - - public String getOrderReserved() { - return orderReserved; - } - - public void setTxnType(String txnType) { - this.txnType = txnType; - } - - public String getTxnType() { - return txnType; - } - - public void setRespSt(String respSt) { - this.respSt = respSt; - } - - public String getRespSt() { - return respSt; - } - - public void setTermId(String termId) { - this.termId = termId; - } - - public String getTermId() { - return termId; - } - - public String getVcardId() { - return vcardId; - } - - public void setVcardId(String vcardId) { - this.vcardId = vcardId; - } - - public Long getDisAmt() { - return disAmt; - } - - public void setDisAmt(Long disAmt) { - this.disAmt = disAmt; - } - - public Long getPayAmt() { - return payAmt; - } - - public void setPayAmt(Long payAmt) { - this.payAmt = payAmt; - } - - public void setOrderMntId(String orderMntId) { - this.orderMntId = orderMntId; - } - - public String getOrderMntId() { - return orderMntId; - } - - public String getSt() { - return st; - } - - public void setSt(String st) { - this.st = st; - } - - public String getOrderId() { - return orderId; - } - - public void setOrderId(String orderId) { - this.orderId = orderId; - } - - public String getOrderMntDt() { - return orderMntDt; - } - - public void setOrderMntDt(String orderMntDt) { - this.orderMntDt = orderMntDt; - } - - public String getOrderTime() { - return orderTime; - } - - public void setOrderTime(String orderTime) { - this.orderTime = orderTime; - } - - public String getOrderMntTime() { - return orderMntTime; - } - - public void setOrderMntTime(String orderMntTime) { - this.orderMntTime = orderMntTime; - } - - public String getOrderMntCode() { - return orderMntCode; - } - - public void setOrderMntCode(String orderMntCode) { - this.orderMntCode = orderMntCode; - } - - public String getOrderDt() { - return orderDt; - } - - public void setOrderDt(String orderDt) { - this.orderDt = orderDt; - } - - public String getOrderTypeId() { - return orderTypeId; - } - - public void setOrderTypeId(String orderTypeId) { - this.orderTypeId = orderTypeId; - } - - public String getOrderSt() { - return orderSt; - } - - public void setOrderSt(String orderSt) { - this.orderSt = orderSt; - } - - public String getAcqAcctId() { - return acqAcctId; - } - - public void setAcqAcctId(String acqAcctId) { - this.acqAcctId = acqAcctId; - } - - public String getAcqChannelId() { - return acqChannelId; - } - - public void setAcqChannelId(String acqChannelId) { - this.acqChannelId = acqChannelId; - } - - public String getOrderAcqChannelCode() { - return orderAcqChannelCode; - } - - public void setOrderAcqChannelCode(String orderAcqChannelCode) { - this.orderAcqChannelCode = orderAcqChannelCode; - } - - public String getAcctId() { - return acctId; - } - - public void setAcctId(String acctId) { - this.acctId = acctId; - } - - public Long getOrderAmt() { - return orderAmt; - } - - public void setOrderAmt(Long orderAmt) { - this.orderAmt = orderAmt; - } - - public String getCurrCd() { - return currCd; - } - - public void setCurrCd(String currCd) { - this.currCd = currCd; - } - - public String getOrderRespCd() { - return orderRespCd; - } - - public void setOrderRespCd(String orderRespCd) { - this.orderRespCd = orderRespCd; - } - - public String getOrderRespMsg() { - return orderRespMsg; - } - - public void setOrderRespMsg(String orderRespMsg) { - this.orderRespMsg = orderRespMsg; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public Date getLastModifyTime() { - return lastModifyTime; - } - - public void setLastModifyTime(Date lastModifyTime) { - this.lastModifyTime = lastModifyTime; - } - - @Override - public String toString() { - return "PcardOrder [orderId=" + orderId + ", orderMntDt=" + orderMntDt - + ", orderMntTime=" + orderMntTime + ", orderMntCode=" - + orderMntCode + ", orderMntId=" + orderMntId + ", orderDt=" - + orderDt + ", orderTime=" + orderTime + ", orderTypeId=" - + orderTypeId + ", acqAcctId=" + acqAcctId + ", acqChannelId=" - + acqChannelId + ", orderAcqChannelCode=" + orderAcqChannelCode - + ", acctId=" + acctId + ", orderAmt=" + orderAmt + ", currCd=" - + currCd + ", orderSt=" + orderSt + ", orderRespCd=" - + orderRespCd + ", orderRespMsg=" + orderRespMsg - + ", createTime=" + createTime + ", lastModifyTime=" - + lastModifyTime + ", st=" + st + ", vcardId=" + vcardId - + ", disAmt=" + disAmt + ", payAmt=" + payAmt + ", termId=" - + termId + ", orderReserved=" + orderReserved + ", txnType=" - + txnType + ", respSt=" + respSt + ", refNo=" + refNo - + ", versions=" + versions + ", sources=" + sources - + ", bank_card=" + bank_card + ", pay_type=" + pay_type - + ", isScancode=" + isScancode + ", scancode=" + scancode - + ", eancode=" + eancode + "]"; - } - -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/entity/TCity.java b/JPA-Demo/src/main/java/cn/mrdear/entity/TCity.java new file mode 100644 index 0000000..b8d5a47 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/entity/TCity.java @@ -0,0 +1,100 @@ +package cn.mrdear.entity; + +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +@Entity +@Table(name = "t_city", schema = "test", catalog = "") +public class TCity { + private int id; + + @Id + @Column(name = "id", nullable = false) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + private String name; + + @Basic + @Column(name = "name", nullable = true, length = 30) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + private String state; + + @Basic + @Column(name = "state", nullable = true, length = 30) + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + private String country; + + @Basic + @Column(name = "country", nullable = true, length = 30) + public String getCountry() { + return country; + } + + + public void setCountry(String country) { + this.country = country; + } private String map; + + @Basic + @Column(name = "map", nullable = true, length = 30) + public String getMap() { + return map; + } + + public void setMap(String map) { + this.map = map; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TCity tCity = (TCity) o; + + if (id != tCity.id) return false; + if (name != null ? !name.equals(tCity.name) : tCity.name != null) return false; + if (state != null ? !state.equals(tCity.state) : tCity.state != null) return false; + if (country != null ? !country.equals(tCity.country) : tCity.country != null) return false; + if (map != null ? !map.equals(tCity.map) : tCity.map != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (state != null ? state.hashCode() : 0); + result = 31 * result + (country != null ? country.hashCode() : 0); + result = 31 * result + (map != null ? map.hashCode() : 0); + return result; + } +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/entity/THotel.java b/JPA-Demo/src/main/java/cn/mrdear/entity/THotel.java new file mode 100644 index 0000000..68f2d06 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/entity/THotel.java @@ -0,0 +1,86 @@ +package cn.mrdear.entity; + +import javax.persistence.Basic; +import javax.persistence.Entity; +import javax.persistence.Id; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +@Entity +@javax.persistence.Table(name = "t_hotel", schema = "test", catalog = "") +public class THotel { + private int id; + + @Id + @javax.persistence.Column(name = "id", nullable = false) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + private String name; + + @Basic + @javax.persistence.Column(name = "name", nullable = true, length = 30) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + private String address; + + @Basic + @javax.persistence.Column(name = "address", nullable = true, length = 255) + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + private Integer city; + + @Basic + @javax.persistence.Column(name = "city", nullable = true) + public Integer getCity() { + return city; + } + + public void setCity(Integer city) { + this.city = city; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + THotel tHotel = (THotel) o; + + if (id != tHotel.id) return false; + if (name != null ? !name.equals(tHotel.name) : tHotel.name != null) return false; + if (address != null ? !address.equals(tHotel.address) : tHotel.address != null) + return false; + if (city != null ? !city.equals(tHotel.city) : tHotel.city != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (address != null ? address.hashCode() : 0); + result = 31 * result + (city != null ? city.hashCode() : 0); + return result; + } +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/BaseRepository.java b/JPA-Demo/src/main/java/cn/mrdear/repository/BaseRepository.java index 8b21556..7c12317 100644 --- a/JPA-Demo/src/main/java/cn/mrdear/repository/BaseRepository.java +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/BaseRepository.java @@ -1,87 +1,19 @@ package cn.mrdear.repository; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.repository.NoRepositoryBean; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import cn.mrdear.entity.PcardOrder; -import cn.mrdear.jpa.Filter; -import cn.mrdear.jpa.QueryParams; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; /** - * 公共方法的repository * @author Niu Li - * @date 2016/11/17 + * @date 2017/1/8 */ @NoRepositoryBean public class BaseRepository { - private static Logger logger = LoggerFactory.getLogger(BaseRepository.class); - - /** - * 分析查询参数,并且合并到sql语句中 - * @param sql JPQL查询语句 - * @param params 查询参数 - * @return 参数对应的value - */ - @SuppressWarnings("Unchecked") - protected List analysisQueryParams(StringBuilder sql, QueryParams params){ - List strList = new ArrayList<>(); - List valueList = new ArrayList<>(); - int i = 1; - //分析or条件 - for (Filter filter : params.getOrFilters()) { - if (filter.getValue() != null){ - strList.add(filter.getProperty()+" " + filter.getOperator().getOperator()+" ?" + (i++)); - valueList.add(filter.getValue()); - }else { - strList.add(filter.getProperty()+" " + filter.getOperator().getOperator()+" "); - } - } - if (!strList.isEmpty()){ - sql.append(" and ").append("( ").append(StringUtils.join(strList," or ")).append(" )"); - } - strList.clear(); - //分析and条件 - for (Filter filter : params.getAndFilters()) { - if (filter.getValue() != null){ - strList.add(filter.getProperty()+" " + filter.getOperator().getOperator()+" ?" + (i++)); - valueList.add(filter.getValue()); - }else { - strList.add(filter.getProperty()+" " + filter.getOperator().getOperator()+" "); - } - } - sql.append(" and ").append(StringUtils.join(strList," and ")); - //分析排序字段 - if (!params.getOrders().isEmpty()){ - sql.append(" order by "); - sql.append(StringUtils.join(params.getOrders(),",")); - } - logger.debug("解析后的sql:"+sql.toString()); - logger.debug("对应的值为:"+valueList); - return valueList; - } - - - public static void main(String[] args) { - StringBuilder sql = new StringBuilder("select count(*) from PcardAcctChange p where 1=1 "); - QueryParams queryParams = new QueryParams<>(); - queryParams.or(Filter.eq("username","niuli")); - queryParams.or(Filter.eq("passwd",1234)); - queryParams.or(Filter.eq("date",new Date())); - queryParams.and(Filter.isNotNull("nickname")); - queryParams.orderDESC("date"); - queryParams.orderASC("date3"); + @PersistenceContext(unitName = "TestJPA") + protected EntityManager em; - BaseRepository baseRepository = new BaseRepository(); - List objects = baseRepository.analysisQueryParams(sql,queryParams); - System.out.println(sql); - System.out.println(objects); - } } diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepository.java b/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepository.java deleted file mode 100644 index 94267a4..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepository.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.mrdear.repository; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -import cn.mrdear.entity.PcardOrder; - -/** - * @author Niu Li - * @date 2016/11/17 - */ -public interface PcardOrderRepository extends JpaRepository - ,PcardOrderRepositoryCustom,JpaSpecificationExecutor { - -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryCustom.java b/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryCustom.java deleted file mode 100644 index dfcf6a4..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryCustom.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.mrdear.repository; - -import org.springframework.data.domain.Pageable; - -import java.util.List; - -import cn.mrdear.jpa.QueryParams; - -/** - * @author Niu Li - * @date 2016/11/17 - */ -public interface PcardOrderRepositoryCustom { - - List findByQueryParam(QueryParams queryParams, Pageable pageable); -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryImpl.java b/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryImpl.java deleted file mode 100644 index 3e7cbe5..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/repository/PcardOrderRepositoryImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.mrdear.repository; - -import org.springframework.data.domain.Pageable; -import org.springframework.data.repository.NoRepositoryBean; - -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.Query; - -import cn.mrdear.jpa.QueryParams; - -/** - * @author Niu Li - * @date 2016/11/18 - */ -@NoRepositoryBean -public class PcardOrderRepositoryImpl extends BaseRepository implements PcardOrderRepositoryCustom { - - @PersistenceContext - private EntityManager entityManager; - @Override - public List findByQueryParam(QueryParams queryParams, Pageable pageable) { - StringBuilder sql = new StringBuilder("select * from tbl_pcard_order where 1=1 "); - List values = analysisQueryParams(sql,queryParams); - Query query = entityManager.createNativeQuery(sql.toString()); - for (int i = 0; i < values.size(); i++) { - query.setParameter(i+1,values.get(i)); - } - query.setFirstResult(pageable.getOffset()); - query.setMaxResults(pageable.getPageSize()); - return query.getResultList(); - } -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/TCityRepository.java b/JPA-Demo/src/main/java/cn/mrdear/repository/TCityRepository.java new file mode 100644 index 0000000..470bfb2 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/TCityRepository.java @@ -0,0 +1,14 @@ +package cn.mrdear.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QueryDslPredicateExecutor; + +import cn.mrdear.entity.TCity; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public interface TCityRepository extends JpaRepository,QueryDslPredicateExecutor, cn.mrdear.repository.custom.TCityRepositoryCustom { + +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/THotelRepository.java b/JPA-Demo/src/main/java/cn/mrdear/repository/THotelRepository.java new file mode 100644 index 0000000..f8cc86a --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/THotelRepository.java @@ -0,0 +1,8 @@ +package cn.mrdear.repository; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public interface THotelRepository { +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryCustom.java b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryCustom.java new file mode 100644 index 0000000..1a16eb1 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryCustom.java @@ -0,0 +1,29 @@ +package cn.mrdear.repository.custom; + +import com.querydsl.core.QueryResults; +import com.querydsl.core.Tuple; +import com.querydsl.core.types.Predicate; + +import org.springframework.data.domain.Pageable; + +import java.util.List; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public interface TCityRepositoryCustom { + /** + * 关联查询示例,查询出城市和对应的旅店 + * @param predicate 查询条件 + * @return 查询实体 + */ + public List findCityAndHotel(Predicate predicate); + + /** + * 关联查询示例,查询出城市和对应的旅店 + * @param predicate 查询条件 + * @return 查询实体 + */ + public QueryResults findCityAndHotelPage(Predicate predicate,Pageable pageable); +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryImpl.java b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryImpl.java new file mode 100644 index 0000000..4ddde14 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/TCityRepositoryImpl.java @@ -0,0 +1,46 @@ +package cn.mrdear.repository.custom; + +import com.querydsl.core.QueryResults; +import com.querydsl.core.Tuple; +import com.querydsl.core.types.Predicate; +import com.querydsl.jpa.impl.JPAQuery; +import com.querydsl.jpa.impl.JPAQueryFactory; + +import org.springframework.data.domain.Pageable; + +import java.util.List; + +import cn.mrdear.entity.QTCity; +import cn.mrdear.entity.QTHotel; +import cn.mrdear.repository.BaseRepository; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public class TCityRepositoryImpl extends BaseRepository implements TCityRepositoryCustom { + + @Override + public List findCityAndHotel(Predicate predicate) { + JPAQueryFactory queryFactory = new JPAQueryFactory(em); + JPAQuery jpaQuery = queryFactory.select(QTCity.tCity,QTHotel.tHotel) + .from(QTCity.tCity) + .leftJoin(QTHotel.tHotel) + .on(QTHotel.tHotel.city.longValue().eq(QTCity.tCity.id.longValue())); + jpaQuery.where(predicate); + return jpaQuery.fetch(); + } + + @Override + public QueryResults findCityAndHotelPage(Predicate predicate,Pageable pageable) { + JPAQueryFactory queryFactory = new JPAQueryFactory(em); + JPAQuery jpaQuery = queryFactory.select(QTCity.tCity.id,QTHotel.tHotel) + .from(QTCity.tCity) + .leftJoin(QTHotel.tHotel) + .on(QTHotel.tHotel.city.longValue().eq(QTCity.tCity.id.longValue())) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()); + return jpaQuery.fetchResults(); + } + +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryCustom.java b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryCustom.java new file mode 100644 index 0000000..960f94a --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryCustom.java @@ -0,0 +1,8 @@ +package cn.mrdear.repository.custom; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public interface THotelRepositoryCustom { +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryImpl.java b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryImpl.java new file mode 100644 index 0000000..7d094e3 --- /dev/null +++ b/JPA-Demo/src/main/java/cn/mrdear/repository/custom/THotelRepositoryImpl.java @@ -0,0 +1,8 @@ +package cn.mrdear.repository.custom; + +/** + * @author Niu Li + * @date 2017/1/7 + */ +public class THotelRepositoryImpl { +} diff --git a/JPA-Demo/src/main/java/cn/mrdear/service/PcardOrderService.java b/JPA-Demo/src/main/java/cn/mrdear/service/PcardOrderService.java deleted file mode 100644 index 6107718..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/service/PcardOrderService.java +++ /dev/null @@ -1,9 +0,0 @@ -package cn.mrdear.service; - -/** - * service层 - * @author Niu Li - * @date 2016/11/18 - */ -public interface PcardOrderService { -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/service/impl/PcardOrderServiceImpl.java b/JPA-Demo/src/main/java/cn/mrdear/service/impl/PcardOrderServiceImpl.java deleted file mode 100644 index 70cc191..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/service/impl/PcardOrderServiceImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.mrdear.service.impl; - -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -import cn.mrdear.repository.PcardOrderRepository; -import cn.mrdear.service.PcardOrderService; - -/** - * @author Niu Li - * @date 2016/11/18 - */ -@Service -public class PcardOrderServiceImpl implements PcardOrderService { - - @Resource - private PcardOrderRepository pcardOrderRepository; - - -} diff --git a/JPA-Demo/src/main/java/cn/mrdear/test/UserRepositoryTest.java b/JPA-Demo/src/main/java/cn/mrdear/test/UserRepositoryTest.java deleted file mode 100644 index 24c23e9..0000000 --- a/JPA-Demo/src/main/java/cn/mrdear/test/UserRepositoryTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.mrdear.test; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; - -import java.util.List; - -import cn.mrdear.entity.PcardOrder; -import cn.mrdear.jpa.Filter; -import cn.mrdear.jpa.QueryParams; -import cn.mrdear.repository.PcardOrderRepository; - -/** - * @author Niu Li - * @date 2016/11/1 - */ -public class UserRepositoryTest { - - - public static void main(String[] args) { - ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml"); - PcardOrderRepository pcardOrderRepository = (PcardOrderRepository) applicationContext.getBean("pcardOrderRepository"); - QueryParams queryParams = new QueryParams<>(); - //使用Specification条件查询,使用JPQL字段查询 - queryParams - .and(Filter.eq("acctId","0014779934917371041"),Filter.ne("orderAmt",0L), - Filter.eq("orderRespCd","00")) - .or(Filter.eq("orderTypeId","A003"),Filter.eq("orderTypeId","A007"), - Filter.eq("orderTypeId","A021"),Filter.eq("orderTypeId","A018")) - .orderDESC("createTime"); - - Page JPQLlist = pcardOrderRepository.findAll(queryParams,new PageRequest(0,2)); - - //使用原生sql查询,注意这里使用原生sql字段,并非JPQL字段, - //本质是根据BaseRepository.analysisQueryParams 来拼接条件,可以根据自己的需求更改 - queryParams.clearAll() - .and(Filter.eq("acct_id","0014779934917371041"),Filter.ne("order_amt",0L), - Filter.eq("order_resp_cd","00")) - .or(Filter.eq("order_type_id","A003"),Filter.eq("order_type_id","A007"), - Filter.eq("order_type_id","A021"),Filter.eq("order_type_id","A018")) - .orderDESC("create_time"); - List nativeSqlList = pcardOrderRepository.findByQueryParam(queryParams,new PageRequest(0,2)); - - System.out.println(nativeSqlList); - } -} diff --git a/JPA-Demo/src/main/resources/config.properties b/JPA-Demo/src/main/resources/config.properties index c956005..9e6ae62 100644 --- a/JPA-Demo/src/main/resources/config.properties +++ b/JPA-Demo/src/main/resources/config.properties @@ -1,8 +1,8 @@ #jdbc start jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://172.18.0.13:60001/pcard?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8 -jdbc.username=pcard_ap -jdbc.password=pcard_ap +jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8 +jdbc.username=root +jdbc.password=7946521 #druid start filters=stat diff --git a/JPA-Demo/src/main/resources/spring/applicationContext.xml b/JPA-Demo/src/main/resources/spring/applicationContext.xml index b03b741..97cf7c7 100644 --- a/JPA-Demo/src/main/resources/spring/applicationContext.xml +++ b/JPA-Demo/src/main/resources/spring/applicationContext.xml @@ -100,7 +100,4 @@ - - - \ No newline at end of file diff --git a/JPA-Demo/src/test/java/TCityTest.java b/JPA-Demo/src/test/java/TCityTest.java new file mode 100644 index 0000000..4b0af31 --- /dev/null +++ b/JPA-Demo/src/test/java/TCityTest.java @@ -0,0 +1,81 @@ +import com.querydsl.core.QueryResults; +import com.querydsl.core.Tuple; +import com.querydsl.core.types.Predicate; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.List; + +import cn.mrdear.entity.QTCity; +import cn.mrdear.entity.QTHotel; +import cn.mrdear.entity.TCity; +import cn.mrdear.repository.TCityRepository; + +/** + * @author Niu Li + * @date 2017/1/8 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath:spring/applicationContext.xml") +public class TCityTest { + @Autowired + private TCityRepository tCityRepository; + //动态条件 + QTCity qtCity = QTCity.tCity; + QTHotel qtHotel = QTHotel.tHotel; + + //单表操作系列 start + /** + * 非动态查询建议使用Query注解 + */ + @Test + public void findDynamic(){ + Predicate predicate = qtCity.id.longValue().lt(3) + .and(qtCity.name.like("shanghai")); + //分页排序 + Sort sort = new Sort(new Sort.Order(Sort.Direction.ASC,"id")); + PageRequest pageRequest = new PageRequest(0,10,sort); + //查找结果 + Page tCityPage = tCityRepository.findAll(predicate,pageRequest); + System.out.println(tCityPage); + } + //单表操作系列 end + + //多表操作系列 start + //针对返回的是Object[]提供了一个很好地解决方案 + @Test + public void findByLeftJoin(){ + QTCity qtCity = QTCity.tCity; + QTHotel qtHotel = QTHotel.tHotel; + Predicate predicate = qtCity.name.like("shanghai"); + List result = tCityRepository.findCityAndHotel(predicate); + for (Tuple row : result) { + System.out.println("qtCity:"+row.get(qtCity)); + System.out.println("qtHotel:"+row.get(qtHotel)); + System.out.println("--------------------"); + } + System.out.println(result); + } + @Test + public void findByLeftJoinPage(){ + QTCity qtCity = QTCity.tCity; + QTHotel qtHotel = QTHotel.tHotel; + Predicate predicate = qtCity.name.like("shanghai"); + PageRequest pageRequest = new PageRequest(0,10); + QueryResults result = tCityRepository.findCityAndHotelPage(predicate,pageRequest); + for (Tuple row : result.getResults()) { + System.out.println("qtCity:"+row.get(qtCity)); + System.out.println("qtHotel:"+row.get(qtHotel)); + System.out.println("--------------------"); + } + System.out.println(result.getTotal()); + } + //多表操作系列 end +} diff --git a/JPA-Demo/src/test/resources/persistence.xml b/JPA-Demo/src/test/resources/persistence.xml deleted file mode 100644 index 67f8c03..0000000 --- a/JPA-Demo/src/test/resources/persistence.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - org.hibernate.ejb.HibernatePersistence - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/JPA-Demo/src/test/resources/spring/applicationContext.xml b/JPA-Demo/src/test/resources/spring/applicationContext.xml deleted file mode 100644 index 401fd0c..0000000 --- a/JPA-Demo/src/test/resources/spring/applicationContext.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.hibernate.dialect.MySQL5Dialect - - false - - false - - false - - none - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/artifacts/Jersey_war.xml b/Jersey--Demo/.idea/artifacts/Jersey_war.xml deleted file mode 100644 index c0768b5..0000000 --- a/Jersey--Demo/.idea/artifacts/Jersey_war.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/target - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/artifacts/Jersey_war_exploded.xml b/Jersey--Demo/.idea/artifacts/Jersey_war_exploded.xml deleted file mode 100644 index 96a9cc5..0000000 --- a/Jersey--Demo/.idea/artifacts/Jersey_war_exploded.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - $PROJECT_DIR$/target/mrdear - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/compiler.xml b/Jersey--Demo/.idea/compiler.xml deleted file mode 100644 index 7bb2917..0000000 --- a/Jersey--Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/copyright/profiles_settings.xml b/Jersey--Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/Jersey--Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/encodings.xml b/Jersey--Demo/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/Jersey--Demo/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/Jersey--Demo/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml deleted file mode 100644 index 30ff5cb..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml b/Jersey--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml deleted file mode 100644 index 9e3d27a..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_18.xml b/Jersey--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_18.xml deleted file mode 100644 index 2b9baaf..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_18.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml b/Jersey--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml deleted file mode 100644 index 3888159..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml deleted file mode 100644 index e90bc9c..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml deleted file mode 100644 index 87b1692..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml deleted file mode 100644 index 4d18ceb..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_3_3.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_3_3.xml deleted file mode 100644 index 926c37b..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_3_3.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_3_3.xml deleted file mode 100644 index d8b05f2..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_3_3.xml b/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_3_3.xml deleted file mode 100644 index 8a8e4a2..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml b/Jersey--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml deleted file mode 100644 index 01c7b8e..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_2.xml b/Jersey--Demo/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_2.xml deleted file mode 100644 index e35b936..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/Jersey--Demo/.idea/libraries/Maven__javax_inject_javax_inject_1.xml deleted file mode 100644 index 93cf65a..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__javax_inject_javax_inject_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/Jersey--Demo/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml deleted file mode 100644 index c24f7e3..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml b/Jersey--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml deleted file mode 100644 index 940ce73..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__javax_ws_rs_javax_ws_rs_api_2_0_1.xml b/Jersey--Demo/.idea/libraries/Maven__javax_ws_rs_javax_ws_rs_api_2_0_1.xml deleted file mode 100644 index c890167..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__javax_ws_rs_javax_ws_rs_api_2_0_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__junit_junit_4_10.xml b/Jersey--Demo/.idea/libraries/Maven__junit_junit_4_10.xml deleted file mode 100644 index ed8bf5f..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__junit_junit_4_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__log4j_log4j_1_2_17.xml b/Jersey--Demo/.idea/libraries/Maven__log4j_log4j_1_2_17.xml deleted file mode 100644 index e383c1b..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__log4j_log4j_1_2_17.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml b/Jersey--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml deleted file mode 100644 index 2b062b5..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml b/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml deleted file mode 100644 index 8cba3e1..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml b/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml deleted file mode 100644 index 4a5c8b2..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml b/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml deleted file mode 100644 index c62d9a0..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml b/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml deleted file mode 100644 index 61938e1..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_antlr_2_5_0.xml b/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_antlr_2_5_0.xml deleted file mode 100644 index 81c15cb..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_antlr_2_5_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_5_0.xml b/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_5_0.xml deleted file mode 100644 index 153155e..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_asm_2_5_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_5_0.xml b/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_5_0.xml deleted file mode 100644 index a4277bc..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_core_2_5_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_5_0.xml b/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_5_0.xml deleted file mode 100644 index f567f2c..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_eclipse_persistence_org_eclipse_persistence_moxy_2_5_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_class_model_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_class_model_2_4_0_b09.xml deleted file mode 100644 index b09e817..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_class_model_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_config_types_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_config_types_2_4_0_b09.xml deleted file mode 100644 index 4210c4f..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_config_types_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_core_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_core_2_4_0_b09.xml deleted file mode 100644 index 8846537..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_core_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b09.xml deleted file mode 100644 index c3efd2a..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_asm_all_repackaged_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_asm_all_repackaged_2_4_0_b09.xml deleted file mode 100644 index a5bf8d3..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_asm_all_repackaged_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_bean_validator_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_bean_validator_2_4_0_b09.xml deleted file mode 100644 index 477880c..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_bean_validator_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_javax_inject_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_javax_inject_2_4_0_b09.xml deleted file mode 100644 index 2138707..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_external_javax_inject_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_2_4_0_b09.xml deleted file mode 100644 index fad414f..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_api_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_api_2_4_0_b09.xml deleted file mode 100644 index 6c41a8a..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_api_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_config_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_config_2_4_0_b09.xml deleted file mode 100644 index dfbf251..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_config_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_locator_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_locator_2_4_0_b09.xml deleted file mode 100644 index 7b0e1b5..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_locator_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_runlevel_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_runlevel_2_4_0_b09.xml deleted file mode 100644 index d0ec802..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_runlevel_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_utils_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_utils_2_4_0_b09.xml deleted file mode 100644 index 7ec721b..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_hk2_utils_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_osgi_resource_locator_1_0_1.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_osgi_resource_locator_1_0_1.xml deleted file mode 100644 index 3d299fa..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_osgi_resource_locator_1_0_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_spring_bridge_2_4_0_b09.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_spring_bridge_2_4_0_b09.xml deleted file mode 100644 index a6f4ab1..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_hk2_spring_bridge_2_4_0_b09.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_16.xml deleted file mode 100644 index 993c539..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_bundles_repackaged_jersey_guava_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_2_16.xml deleted file mode 100644 index 304d588..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_core_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_core_2_16.xml deleted file mode 100644 index 4c0edaa..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_containers_jersey_container_servlet_core_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_client_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_client_2_16.xml deleted file mode 100644 index 1712979..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_client_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_common_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_common_2_16.xml deleted file mode 100644 index cd700e9..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_common_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_server_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_server_2_16.xml deleted file mode 100644 index 2a3b4b9..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_core_jersey_server_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_entity_filtering_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_entity_filtering_2_16.xml deleted file mode 100644 index fa44000..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_entity_filtering_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_spring3_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_spring3_2_16.xml deleted file mode 100644 index e87be18..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_ext_jersey_spring3_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_jaxb_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_jaxb_2_16.xml deleted file mode 100644 index 6ebbf60..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_jaxb_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_moxy_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_moxy_2_16.xml deleted file mode 100644 index ddbe45c..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_moxy_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_multipart_2_16.xml b/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_multipart_2_16.xml deleted file mode 100644 index 4827c65..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_glassfish_jersey_media_jersey_media_multipart_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml b/Jersey--Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml deleted file mode 100644 index acdf443..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml b/Jersey--Demo/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml deleted file mode 100644 index 1f90730..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_javassist_javassist_3_18_1_GA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_3.xml b/Jersey--Demo/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_3.xml deleted file mode 100644 index 5429fb6..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_jvnet_mimepull_mimepull_1_9_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_jvnet_tiger_types_1_4.xml b/Jersey--Demo/.idea/libraries/Maven__org_jvnet_tiger_types_1_4.xml deleted file mode 100644 index 8d7e1d6..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_jvnet_tiger_types_1_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_3_0.xml b/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_3_0.xml deleted file mode 100644 index 86720b3..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_3.xml b/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_3.xml deleted file mode 100644 index 8d9620c..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml b/Jersey--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml deleted file mode 100644 index 0bf8cf2..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml b/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml deleted file mode 100644 index 1e67260..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml b/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml deleted file mode 100644 index 65d0ae6..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_1_1_RELEASE.xml deleted file mode 100644 index eade391..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_1_1_RELEASE.xml deleted file mode 100644 index 318e479..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_1_1_RELEASE.xml deleted file mode 100644 index f770b86..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_1_RELEASE.xml deleted file mode 100644 index ccead97..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_1_1_RELEASE.xml deleted file mode 100644 index 4a192e5..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_1_1_RELEASE.xml deleted file mode 100644 index fe9be52..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_1_RELEASE.xml deleted file mode 100644 index 95d8731..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_1_1_RELEASE.xml deleted file mode 100644 index a4c93d7..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_1_1_RELEASE.xml b/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_1_1_RELEASE.xml deleted file mode 100644 index 5c3f046..0000000 --- a/Jersey--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_1_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/misc.xml b/Jersey--Demo/.idea/misc.xml deleted file mode 100644 index adfbe50..0000000 --- a/Jersey--Demo/.idea/misc.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/modules.xml b/Jersey--Demo/.idea/modules.xml deleted file mode 100644 index 84ac91e..0000000 --- a/Jersey--Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/uiDesigner.xml b/Jersey--Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/Jersey--Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/.idea/workspace.xml b/Jersey--Demo/.idea/workspace.xml deleted file mode 100644 index 1c94010..0000000 --- a/Jersey--Demo/.idea/workspace.xml +++ /dev/null @@ -1,1685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\牛李\AppData\Roaming\Subversion - - - - - 1469408303254 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Jersey工程:war - - - - - - - - Web - - - - - - - - - - - - - - - 1.8 - - - - - - - - Spring|Jersey工程 - - - - - - - - 1.8 - - - - - - - - Maven: javax.annotation:javax.annotation-api:1.2 - - - - - - - - \ No newline at end of file diff --git "a/Jersey--Demo/Jersey\345\267\245\347\250\213.iml" "b/Jersey--Demo/Jersey\345\267\245\347\250\213.iml" deleted file mode 100644 index 650de83..0000000 --- "a/Jersey--Demo/Jersey\345\267\245\347\250\213.iml" +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - file://$MODULE_DIR$/src/main/resources/applicationContext.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Jersey--Demo/pom.xml b/Jersey-Demo/pom.xml similarity index 98% rename from Jersey--Demo/pom.xml rename to Jersey-Demo/pom.xml index 517faa3..774ec31 100644 --- a/Jersey--Demo/pom.xml +++ b/Jersey-Demo/pom.xml @@ -2,11 +2,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 cn.mrdear - mrdear + Jersey-Demo war 1.0-SNAPSHOT - mrdear Maven Webapp - http://maven.apache.org + Jersey-Demo 4.1.1.RELEASE diff --git a/Jersey--Demo/src/main/java/com/haikong/ResultVO.java b/Jersey-Demo/src/main/java/com/haikong/ResultVO.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/ResultVO.java rename to Jersey-Demo/src/main/java/com/haikong/ResultVO.java diff --git a/Jersey--Demo/src/main/java/com/haikong/application/RESTApplication.java b/Jersey-Demo/src/main/java/com/haikong/application/RESTApplication.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/application/RESTApplication.java rename to Jersey-Demo/src/main/java/com/haikong/application/RESTApplication.java diff --git a/Jersey--Demo/src/main/java/com/haikong/dao/DeviceMapper.java b/Jersey-Demo/src/main/java/com/haikong/dao/DeviceMapper.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/dao/DeviceMapper.java rename to Jersey-Demo/src/main/java/com/haikong/dao/DeviceMapper.java diff --git a/Jersey--Demo/src/main/java/com/haikong/exception/DeviceExceptionMapper.java b/Jersey-Demo/src/main/java/com/haikong/exception/DeviceExceptionMapper.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/exception/DeviceExceptionMapper.java rename to Jersey-Demo/src/main/java/com/haikong/exception/DeviceExceptionMapper.java diff --git a/Jersey--Demo/src/main/java/com/haikong/exception/ErrorEntity.java b/Jersey-Demo/src/main/java/com/haikong/exception/ErrorEntity.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/exception/ErrorEntity.java rename to Jersey-Demo/src/main/java/com/haikong/exception/ErrorEntity.java diff --git a/Jersey--Demo/src/main/java/com/haikong/filter/PreRequestFilter.java b/Jersey-Demo/src/main/java/com/haikong/filter/PreRequestFilter.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/filter/PreRequestFilter.java rename to Jersey-Demo/src/main/java/com/haikong/filter/PreRequestFilter.java diff --git a/Jersey--Demo/src/main/java/com/haikong/filter/ResponseFilter.java b/Jersey-Demo/src/main/java/com/haikong/filter/ResponseFilter.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/filter/ResponseFilter.java rename to Jersey-Demo/src/main/java/com/haikong/filter/ResponseFilter.java diff --git a/Jersey--Demo/src/main/java/com/haikong/interceptor/GzipInterceptor.java b/Jersey-Demo/src/main/java/com/haikong/interceptor/GzipInterceptor.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/interceptor/GzipInterceptor.java rename to Jersey-Demo/src/main/java/com/haikong/interceptor/GzipInterceptor.java diff --git a/Jersey--Demo/src/main/java/com/haikong/model/Device.java b/Jersey-Demo/src/main/java/com/haikong/model/Device.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/model/Device.java rename to Jersey-Demo/src/main/java/com/haikong/model/Device.java diff --git a/Jersey--Demo/src/main/java/com/haikong/model/ReqDevice.java b/Jersey-Demo/src/main/java/com/haikong/model/ReqDevice.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/model/ReqDevice.java rename to Jersey-Demo/src/main/java/com/haikong/model/ReqDevice.java diff --git a/Jersey--Demo/src/main/java/com/haikong/model/ServicesBean.java b/Jersey-Demo/src/main/java/com/haikong/model/ServicesBean.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/model/ServicesBean.java rename to Jersey-Demo/src/main/java/com/haikong/model/ServicesBean.java diff --git a/Jersey--Demo/src/main/java/com/haikong/resources/DeviceController.java b/Jersey-Demo/src/main/java/com/haikong/resources/DeviceController.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/resources/DeviceController.java rename to Jersey-Demo/src/main/java/com/haikong/resources/DeviceController.java diff --git a/Jersey--Demo/src/main/java/com/haikong/service/DeviceService.java b/Jersey-Demo/src/main/java/com/haikong/service/DeviceService.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/service/DeviceService.java rename to Jersey-Demo/src/main/java/com/haikong/service/DeviceService.java diff --git a/Jersey--Demo/src/main/java/com/haikong/util/CheckUtil.java b/Jersey-Demo/src/main/java/com/haikong/util/CheckUtil.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/util/CheckUtil.java rename to Jersey-Demo/src/main/java/com/haikong/util/CheckUtil.java diff --git a/Jersey--Demo/src/main/java/com/haikong/util/Constants.java b/Jersey-Demo/src/main/java/com/haikong/util/Constants.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/util/Constants.java rename to Jersey-Demo/src/main/java/com/haikong/util/Constants.java diff --git a/Jersey--Demo/src/main/java/com/haikong/util/DecriptUtil.java b/Jersey-Demo/src/main/java/com/haikong/util/DecriptUtil.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/util/DecriptUtil.java rename to Jersey-Demo/src/main/java/com/haikong/util/DecriptUtil.java diff --git a/Jersey--Demo/src/main/java/com/haikong/util/DeviceUtil.java b/Jersey-Demo/src/main/java/com/haikong/util/DeviceUtil.java similarity index 100% rename from Jersey--Demo/src/main/java/com/haikong/util/DeviceUtil.java rename to Jersey-Demo/src/main/java/com/haikong/util/DeviceUtil.java diff --git a/Jersey--Demo/src/main/resources/applicationContext.xml b/Jersey-Demo/src/main/resources/applicationContext.xml similarity index 100% rename from Jersey--Demo/src/main/resources/applicationContext.xml rename to Jersey-Demo/src/main/resources/applicationContext.xml diff --git a/Jersey--Demo/src/main/resources/db.properties b/Jersey-Demo/src/main/resources/db.properties similarity index 100% rename from Jersey--Demo/src/main/resources/db.properties rename to Jersey-Demo/src/main/resources/db.properties diff --git a/Jersey-Demo/src/main/resources/db.sql b/Jersey-Demo/src/main/resources/db.sql new file mode 100644 index 0000000..af88aa9 --- /dev/null +++ b/Jersey-Demo/src/main/resources/db.sql @@ -0,0 +1,88 @@ +/* +SQLyog Ultimate v12.08 (64 bit) +MySQL - 5.6.24 : Database - haikong +********************************************************************* +*/ + + +/*!40101 SET NAMES utf8 */; + +/*!40101 SET SQL_MODE=''*/; + +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +CREATE DATABASE /*!32312 IF NOT EXISTS*/`haikong` /*!40100 DEFAULT CHARACTER SET utf8 */; + +USE `haikong`; + +/*Table structure for table `switchdevice` */ + +CREATE TABLE `switchdevice` ( + `device_id` varchar(255) NOT NULL, + `device_type` varchar(255) NOT NULL, + `onoffStatus` tinyint(1) DEFAULT NULL, + `data` varchar(255) DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `asy_error_code` int(10) DEFAULT '50013', + PRIMARY KEY (`device_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +/*Data for the table `switchdevice` */ + +LOCK TABLES `switchdevice` WRITE; + +insert into `switchdevice`(`device_id`,`device_type`,`onoffStatus`,`data`,`create_time`,`asy_error_code`) values ('gh_4f7d3885c0a9_24bf775bf31306a6','gh_4f7d3885c0a9',0,'{\"ct\":\"0-5-1\",\"ene\":0,\"power\":0,\"t1\":\"1-920-922-127\",\"t2\":\"1-510-810-127\",\"t3\":\"1-520-820-127\",\"t4\":\"0-530-830-127\",\"vol\":0}',NULL,50013),('gh_4f7d3885c0a9_5cb36c1e609fc5e4','gh_4f7d3885c0a9',0,'{\"vol\":2330,\"power\":0.0,\"ene\":123,\"t1\":\"1-485-495-127\",\"t2\":\"0-950-955-127\",\"t3\":\"1-960-965-127\",\"t4\":\"0-970-975-127\",\"ct\":\"0-30-0\"}','2016-07-26 00:00:02',0),('gh_4f7d3885c0a9_6862ecf1431908aa','gh_4f7d3885c0a9',0,'{\"vol\":2277,\"power\":0,\"ene\":0,\"t1\":\"1-590-592-127\",\"t2\":\"1-595-597-127\",\"t3\":\"1-600-602-127\",\"t4\":\"1-605-610-127\",\"ct\":\"0-5-1\"}','2016-06-08 09:28:23',50013),('gh_4f7d3885c0a9_6aae48686d7aa518','gh_4f7d3885c0a9',0,'{\"vol\":0,\"power\":0,\"ene\":0,\"t1\":\"0-920-922-127\",\"t2\":\"0-510-810-127\",\"t3\":\"0-520-820-127\",\"t4\":\"0-530-830-127\",\"ct\":\"0-5-1\"}','2016-06-13 19:53:54',50013),('gh_4f7d3885c0a9_6c5ecdde0b08ee85','gh_4f7d3885c0a9',1,'{\"vol\":2688,\"power\":41,\"ene\":0,\"t1\":\"\",\"t2\":\"\",\"t3\":\"\",\"t4\":\"\",\"ct\":\"\"}','2016-07-01 17:35:49',0),('gh_4f7d3885c0a9_9ea2808950a2dce5','gh_4f7d3885c0a9',0,'{\"vol\":2250,\"power\":4,\"ene\":0,\"t1\":\"0-920-922-127\",\"t2\":\"0-510-810-127\",\"t3\":\"0-520-820-127\",\"t4\":\"0-530-830-127\",\"ct\":\"0-5-1\"}','2016-06-07 21:04:43',50013),('gh_4f7d3885c0a9_9eeb6cd5b2248acc','gh_4f7d3885c0a9',0,'{\"vol\":42,\"power\":0.0,\"ene\":2,\"t1\":\"0-4-14341-0\",\"t2\":\"159--22525-10753-2\",\"t3\":\"224--20480-0-4\",\"t4\":\"0-0-0-0\",\"ct\":\"0-8032-31\"}','2016-07-11 15:38:33',0),('gh_4f7d3885c0a9_b5d8814afb0644d5','gh_4f7d3885c0a9',0,'{\"ct\":\"0-5-1\",\"ene\":0,\"power\":0,\"t1\":\"1-920-922-127\",\"t2\":\"1-510-810-127\",\"t3\":\"1-520-820-127\",\"t4\":\"0-530-830-127\",\"vol\":0}',NULL,50013),('gh_4f7d3885c0a9_bc77b4f0d2d7a89e','gh_4f7d3885c0a9',0,'{\"vol\":2288,\"power\":0.0,\"ene\":3,\"t1\":\"0-590-592-127\",\"t2\":\"1-595-597-127\",\"t3\":\"1-600-602-127\",\"t4\":\"1-605-610-127\",\"ct\":\"0-2-0\"}','2016-07-23 18:09:25',0),('gh_4f7d3885c0a9_d5abb053ddb1bf6b','gh_4f7d3885c0a9',0,'{\"vol\":2342,\"power\":0.0,\"ene\":71,\"t1\":\"1-920-922-127\",\"t2\":\"0-510-810-127\",\"t3\":\"1-520-820-127\",\"t4\":\"0-530-830-127\",\"ct\":\"0-5-1\"}','2016-07-12 16:44:59',0),('gh_4f7d3885c0a9_ddc94c4cbd475075','gh_4f7d3885c0a9',0,'{\"vol\":2319,\"power\":0.0,\"ene\":13,\"t1\":\"1-551-553-2\",\"t2\":\"0-0-0-0\",\"t3\":\"0-0-0-0\",\"t4\":\"0-0-0-0\",\"ct\":\"0-2-0\"}','2016-07-09 15:04:35',50012),('gh_4f7d3885c0a9_df131bbd83974bc8','gh_4f7d3885c0a9',0,'{\"vol\":0,\"power\":0,\"ene\":0,\"t1\":\"\",\"t2\":\"\",\"t3\":\"\",\"t4\":\"\",\"ct\":\"\"}','2016-06-27 16:06:21',50013),('gh_4f7d3885c0a9_e0242e4ca8017c8d','gh_4f7d3885c0a9',0,'{\"vol\":2319,\"power\":0.0,\"ene\":13,\"t1\":\"1-551-553-2\",\"t2\":\"0-0-0-0\",\"t3\":\"0-0-0-0\",\"t4\":\"0-0-0-0\",\"ct\":\"0-2-0\"}',NULL,50012); + +UNLOCK TABLES; + +/*Table structure for table `user` */ + +CREATE TABLE `user` ( + `openid` varchar(255) NOT NULL, + `nickname` varchar(255) NOT NULL, + `sex` int(1) DEFAULT NULL, + `language` varchar(20) DEFAULT NULL, + `country` varchar(30) DEFAULT NULL, + `province` varchar(30) DEFAULT NULL, + `city` varchar(30) DEFAULT NULL, + `headimgurl` varchar(255) DEFAULT NULL, + `subscribe_time` datetime NOT NULL, + `remark` varchar(50) DEFAULT NULL, + `groupid` int(5) DEFAULT NULL, + `tagid_list` varchar(50) DEFAULT NULL, + `subscribe` int(1) NOT NULL, + `device_id` varchar(255) DEFAULT NULL, + PRIMARY KEY (`openid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +/*Data for the table `user` */ + +LOCK TABLES `user` WRITE; + +insert into `user`(`openid`,`nickname`,`sex`,`language`,`country`,`province`,`city`,`headimgurl`,`subscribe_time`,`remark`,`groupid`,`tagid_list`,`subscribe`,`device_id`) values ('ocT6Ivwa8DBigrwt2vJQfnQYZ_Ho','MR.dear',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/ajNVdqHZLLABYMN0Tsttb5HHrlPG2aU9oDhDJMfFaYKbu4aVpvcsTYP6KibfBrwQWyLGr3ib8sXWoLqZKSPpzPmQ/0','1970-01-18 09:19:26','',0,'[]',0,NULL),('ov4a6wg2snvQ3eJiZcxJI31noVZk','梅斯塔利亚球童',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/Q3auHgzwzM6zC3QlibnibafA7EtI3vayCVVZiamd9r2ulYR5G4uVkVYvhUZ1XuHfwb8WTHkYw1fjw8o9Jgr41XlEw/0','2016-06-13 10:55:52','',0,'[]',1,NULL),('ov4a6wiikevsn_Wev3xVQz1UEAhY','洛齐',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/wotl6RIXwvTP6uQEHEmpDHg4oVlLMHaDNRicTwD03tG4JGJoLqCuOIRQicIB2C9s001J2sPAGU4j4w4IaGKxiccMeBeNlL3FaicE/0','2016-07-09 12:29:57','',0,'[]',1,NULL),('ov4a6wi_ZdkGdIxAlyVwlHkisFXI','MR.dear',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/ajNVdqHZLLDVFjDEYwqoOKMrhHbBwK2WhN8I89Tdu8iajz1rI244L26qrvSFmshDX8WlW542TlvA8w4VibXKR0Sg/0','2016-05-20 10:52:57','',0,'[]',1,NULL),('ov4a6wl9hqiaIjq35gqKBfq8V__g','木字柏',1,'zh_CN','中国','河南','郑州','http://wx.qlogo.cn/mmopen/wotl6RIXwvTP6uQEHEmpDH1WU61QmVpehnPO2gv8hX0vXXTJa12QgHFy82jst6It5sVgkos110xh14T0SlojX3RLdiae3wLt9/0','2016-06-28 09:37:05','',0,'[]',1,NULL),('ov4a6wnuLygS245t7p8JsKJmzAhM','丁丁',1,'zh_CN','中国','北京','','http://wx.qlogo.cn/mmopen/JVDECnNjedHtic678xUWBMyW2HEXHbdVSPzl7acIznEzXEX0iabMyJzuicmjcXKMM6xlBmEnK5X3Bwm0GfFcLmWgw/0','2016-07-02 23:35:00','',0,'[]',1,NULL),('ov4a6woxlwp3vo_rTu6nL_HK1Hw8','童鑫',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/ajNVdqHZLLAOPbQXZP7mNpeNfdiaoaL1x3cTmv1bgfC6htRW5WFZ31oxFRnStQeqF78iaLMZRianrI6bDjcIrUw2Q/0','2016-07-04 10:56:36','',0,'[]',1,NULL),('ov4a6wq0aYpL4yVXuNdsWnx50O1w','笑笑',2,'zh_CN','中国','浙江','嘉兴','http://wx.qlogo.cn/mmopen/wotl6RIXwvTP6uQEHEmpDHce2C5RcP8Q6F67ZQOHwEV8xGvtoKQCHKMvmB3FTnZ3tM25FicMgIWQsrChUgYXFR6qibeY7ibQJY4/0','2016-05-20 10:56:35','',0,'[]',1,NULL),('ov4a6wqwZnD4A40ptII5HRfcl5P4','星之辉',1,'zh_CN','中国','河南','郑州','http://wx.qlogo.cn/mmopen/ajNVdqHZLLCsgtZribtLYslXHibVxN9pQs8ju3EI5Iju5JgV33DWF8B9KYO0f3ChiasPA7ibrrpCx5ca4TQq1swFUg/0','2016-06-27 17:32:58','',0,'[]',1,NULL),('ov4a6wriUlQK7c2b4J9GdlFMT-lM','张馨元',2,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/PiajxSqBRaEL095aT9yJXxjolfHPwmEI5DvB8qahl4mQQSYeCSvV5pUaXmHNGJBniaXF9yGBBUPic7amwAZlD0lNw/0','2016-06-07 22:57:22','',0,'[]',1,NULL),('ov4a6wsY4w_iD887DUlJAmtcqX0E','丽丽',2,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/ajNVdqHZLLBZ4nibrIsryUwia5ibmmkHZx1cqt4m8nN5oMIicmJGC5LOaANcgWb86hJHZ4yRziaYqYBDWewGTnXysMw/0','2016-05-20 12:59:11','',0,'[]',1,NULL),('ov4a6wszjYYE3oTZ-g7dvvlfVHU8','づヤ↘',1,'zh_CN','冰岛','','','http://wx.qlogo.cn/mmopen/C6GINSn24pTeWxlFk1AbM19ZtIOzibv5IuhQgzp4ordS2Gbh50SbGiaLEobib3ys5vMBfbibqAiafVh4azibmhxoPdtQbQoqGIldibz/0','2016-07-01 20:31:13','',0,'[]',1,NULL),('ov4a6wtqBple7-0p-Wk_dwWdJo9w','MR.dear',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/ajNVdqHZLLDVFjDEYwqoOKMrhHbBwK2WhN8I89Tdu8iajz1rI244L26qrvSFmshDX8WlW542TlvA8w4VibXKR0Sg/0','2016-07-12 23:25:42','',0,'[]',1,NULL),('ov4a6wuj8FYpUFWW48gCP0iM2Vdo','查查网-姚多桂',1,'zh_CN','中国','安徽','淮南','http://wx.qlogo.cn/mmopen/wotl6RIXwvTP6uQEHEmpDG34jfISWkLlLjwV54XXBjVOjjiaUlbFxpl1Be40yuFTsuIwcmXBvvUtnTfyllDndtDGFJRTRg1ll/0','2016-05-31 16:11:56','',0,'[]',1,NULL),('ov4a6wvc5HVK7Dgghk8NxC22vG4g','lens',1,'zh_CN','中国','浙江','绍兴','http://wx.qlogo.cn/mmopen/C6GINSn24pQEmfQSSPIJqjLiauloPYLPcMicLZXvGq8wBZCYicjl6CYYnRtKPmBv578NEnwDopzqb3icZYYwbexqEQ/0','2016-06-29 16:49:53','',0,'[]',1,NULL); + +UNLOCK TABLES; + +/*Table structure for table `user_device` */ + +CREATE TABLE `user_device` ( + `device_id` varchar(255) DEFAULT NULL, + `user` varchar(255) DEFAULT NULL, + `device_type` varchar(255) DEFAULT NULL, + `bz` varchar(255) DEFAULT '我的插座' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +/*Data for the table `user_device` */ + +LOCK TABLES `user_device` WRITE; + +insert into `user_device`(`device_id`,`user`,`device_type`,`bz`) values ('gh_4f7d3885c0a9_9ea2808950a2dce5','ov4a6wsY4w_iD887DUlJAmtcqX0E','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_9ea2808950a2dce5','ov4a6wi_ZdkGdIxAlyVwlHkisFXI','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_6aae48686d7aa518','ov4a6wuj8FYpUFWW48gCP0iM2Vdo','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_6aae48686d7aa518','ov4a6wriUlQK7c2b4J9GdlFMT-lM','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_9ea2808950a2dce5','ov4a6wriUlQK7c2b4J9GdlFMT-lM','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_5cb36c1e609fc5e4','ov4a6wriUlQK7c2b4J9GdlFMT-lM','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_6c5ecdde0b08ee85','ov4a6wuNSuFHzF06WH5s6SGgXiw0','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_5cb36c1e609fc5e4','ov4a6wg2snvQ3eJiZcxJI31noVZk','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_5cb36c1e609fc5e4','ov4a6wg2snvQ3eJiZcxJI31noVZk','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_5cb36c1e609fc5e4','ov4a6wvc5HVK7Dgghk8NxC22vG4g','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_ddc94c4cbd475075','ov4a6woxlwp3vo_rTu6nL_HK1Hw8','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_d5abb053ddb1bf6b','ov4a6woxlwp3vo_rTu6nL_HK1Hw8','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_9eeb6cd5b2248acc','ov4a6woxlwp3vo_rTu6nL_HK1Hw8','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_bc77b4f0d2d7a89e','ov4a6woxlwp3vo_rTu6nL_HK1Hw8','gh_4f7d3885c0a9','卧室'),('gh_4f7d3885c0a9_d5abb053ddb1bf6b','ov4a6wnuLygS245t7p8JsKJmzAhM','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_bc77b4f0d2d7a89e','ov4a6wtqBple7-0p-Wk_dwWdJo9w','gh_4f7d3885c0a9','卧室'),('gh_4f7d3885c0a9_bc77b4f0d2d7a89e','ov4a6wi_ZdkGdIxAlyVwlHkisFXI','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_d5abb053ddb1bf6b','ov4a6wi_ZdkGdIxAlyVwlHkisFXI','gh_4f7d3885c0a9','我的插座'),('gh_4f7d3885c0a9_d5abb053ddb1bf6b','ocT6Ivwa8DBigrwt2vJQfnQYZ_Ho','gh_4f7d3885c0a9','嘻嘻'),('gh_4f7d3885c0a9_ddc94c4cbd475075','ocT6Ivwa8DBigrwt2vJQfnQYZ_Ho','gh_4f7d3885c0a9','嘻嘻'),('gh_4f7d3885c0a9_ddc94c4cbd475075','ocT6Ivwa8DBigrwt2vJQfnQYZ_Ho','gh_4f7d3885c0a9','嘻嘻'); + +UNLOCK TABLES; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/Jersey--Demo/src/main/resources/log4j.properties b/Jersey-Demo/src/main/resources/log4j.properties similarity index 100% rename from Jersey--Demo/src/main/resources/log4j.properties rename to Jersey-Demo/src/main/resources/log4j.properties diff --git a/Jersey--Demo/src/main/resources/mybatis/Mapper/DeviceMapper.xml b/Jersey-Demo/src/main/resources/mybatis/Mapper/DeviceMapper.xml similarity index 100% rename from Jersey--Demo/src/main/resources/mybatis/Mapper/DeviceMapper.xml rename to Jersey-Demo/src/main/resources/mybatis/Mapper/DeviceMapper.xml diff --git a/Jersey--Demo/src/main/resources/mybatis/SqlMapConfig.xml b/Jersey-Demo/src/main/resources/mybatis/SqlMapConfig.xml similarity index 100% rename from Jersey--Demo/src/main/resources/mybatis/SqlMapConfig.xml rename to Jersey-Demo/src/main/resources/mybatis/SqlMapConfig.xml diff --git a/Jersey--Demo/src/main/webapp/WEB-INF/web.xml b/Jersey-Demo/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from Jersey--Demo/src/main/webapp/WEB-INF/web.xml rename to Jersey-Demo/src/main/webapp/WEB-INF/web.xml diff --git a/Jersey--Demo/src/main/webapp/index.jsp b/Jersey-Demo/src/main/webapp/index.jsp similarity index 100% rename from Jersey--Demo/src/main/webapp/index.jsp rename to Jersey-Demo/src/main/webapp/index.jsp diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/doc/README.MD" b/Maven-Demo/doc/README.MD similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/doc/README.MD" rename to Maven-Demo/doc/README.MD diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/pom.xml" b/Maven-Demo/haikong-common/pom.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/pom.xml" rename to Maven-Demo/haikong-common/pom.xml diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/java/com/haikong/common/entity/User.java" b/Maven-Demo/haikong-common/src/main/java/com/haikong/common/entity/User.java similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/java/com/haikong/common/entity/User.java" rename to Maven-Demo/haikong-common/src/main/java/com/haikong/common/entity/User.java diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/java/com/haikong/common/mapper/UserMapper.java" b/Maven-Demo/haikong-common/src/main/java/com/haikong/common/mapper/UserMapper.java similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/java/com/haikong/common/mapper/UserMapper.java" rename to Maven-Demo/haikong-common/src/main/java/com/haikong/common/mapper/UserMapper.java diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/resources/mybatis/mapper/userMapper.xml" b/Maven-Demo/haikong-common/src/main/resources/mybatis/mapper/userMapper.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/src/main/resources/mybatis/mapper/userMapper.xml" rename to Maven-Demo/haikong-common/src/main/resources/mybatis/mapper/userMapper.xml diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/pom.xml" b/Maven-Demo/haikong-core/pom.xml similarity index 95% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/pom.xml" rename to Maven-Demo/haikong-core/pom.xml index d5872c8..ebefddc 100644 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/pom.xml" +++ b/Maven-Demo/haikong-core/pom.xml @@ -7,9 +7,9 @@ 1.0.0 4.0.0 - core + haikong-core war - core Maven Webapp + haikong-core http://maven.apache.org diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/java/com/haikong/core/controller/indexController.java" b/Maven-Demo/haikong-core/src/main/java/com/haikong/core/controller/indexController.java similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/java/com/haikong/core/controller/indexController.java" rename to Maven-Demo/haikong-core/src/main/java/com/haikong/core/controller/indexController.java diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/config.properties" b/Maven-Demo/haikong-core/src/main/resources/config.properties similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/config.properties" rename to Maven-Demo/haikong-core/src/main/resources/config.properties diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/db.properties" b/Maven-Demo/haikong-core/src/main/resources/db.properties similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/db.properties" rename to Maven-Demo/haikong-core/src/main/resources/db.properties diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/log4j.properties" b/Maven-Demo/haikong-core/src/main/resources/log4j.properties similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/log4j.properties" rename to Maven-Demo/haikong-core/src/main/resources/log4j.properties diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/mybatis/SqlMapConfig.xml" b/Maven-Demo/haikong-core/src/main/resources/mybatis/SqlMapConfig.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/mybatis/SqlMapConfig.xml" rename to Maven-Demo/haikong-core/src/main/resources/mybatis/SqlMapConfig.xml diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/mybatis/mapper/2.txt" b/Maven-Demo/haikong-core/src/main/resources/mybatis/mapper/2.txt similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/mybatis/mapper/2.txt" rename to Maven-Demo/haikong-core/src/main/resources/mybatis/mapper/2.txt diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/spring/applicationContext.xml" b/Maven-Demo/haikong-core/src/main/resources/spring/applicationContext.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/spring/applicationContext.xml" rename to Maven-Demo/haikong-core/src/main/resources/spring/applicationContext.xml diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/spring/dispatcher-servlet.xml" b/Maven-Demo/haikong-core/src/main/resources/spring/dispatcher-servlet.xml similarity index 94% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/spring/dispatcher-servlet.xml" rename to Maven-Demo/haikong-core/src/main/resources/spring/dispatcher-servlet.xml index 3db2ecd..7a8b34b 100644 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/resources/spring/dispatcher-servlet.xml" +++ b/Maven-Demo/haikong-core/src/main/resources/spring/dispatcher-servlet.xml @@ -1,11 +1,11 @@ - + diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/webapp/WEB-INF/web.xml" b/Maven-Demo/haikong-core/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/webapp/WEB-INF/web.xml" rename to Maven-Demo/haikong-core/src/main/webapp/WEB-INF/web.xml diff --git a/SSM--Demo/src/main/webapp/index.jsp b/Maven-Demo/haikong-core/src/main/webapp/index.jsp similarity index 100% rename from SSM--Demo/src/main/webapp/index.jsp rename to Maven-Demo/haikong-core/src/main/webapp/index.jsp diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-switch/pom.xml" b/Maven-Demo/haikong-switch/pom.xml similarity index 100% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-switch/pom.xml" rename to Maven-Demo/haikong-switch/pom.xml diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/pom.xml" b/Maven-Demo/pom.xml similarity index 99% rename from "maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/pom.xml" rename to Maven-Demo/pom.xml index 82a4f01..f67ce3c 100644 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/pom.xml" +++ b/Maven-Demo/pom.xml @@ -5,9 +5,10 @@ 4.0.0 com.haikong - haikong + Maven-Demo pom 1.0.0 + Maven-demo haikong-core haikong-switch diff --git a/Motan-Demo/Service-Client/pom.xml b/Motan-Demo/Service-Client/pom.xml new file mode 100644 index 0000000..8d2eade --- /dev/null +++ b/Motan-Demo/Service-Client/pom.xml @@ -0,0 +1,16 @@ + + + + Motan-Demo + cn.mrdear.motan + 1.0-SNAPSHOT + + 4.0.0 + + cn.mrdear.motan + Service-Client + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java b/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java new file mode 100644 index 0000000..72dd1ce --- /dev/null +++ b/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/dto/UserDTO.java @@ -0,0 +1,31 @@ +package cn.mrdear.client.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户DTO,用于Service层传输 + * @author Niu Li + * @since 2017/6/12 + */ +@Data +public class UserDTO implements Serializable{ + + private static final long serialVersionUID = 4086492518942464226L; + + private Long id; + + private String username; + + private String password; + + private Integer age; + + private String nickname; + + private String mail; + + private String memo; + +} diff --git a/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java b/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java new file mode 100644 index 0000000..1edd92f --- /dev/null +++ b/Motan-Demo/Service-Client/src/main/java/cn/mrdear/client/service/IUserService.java @@ -0,0 +1,37 @@ +package cn.mrdear.client.service; + +import cn.mrdear.client.dto.UserDTO; + +import java.util.Collection; +import java.util.List; + +/** + * 用户服务,一般都会在返回层再包裹一层,这里简而化之 + * @author Niu Li + * @since 2017/6/12 + */ +public interface IUserService { + + /** + * 根据id查找 + */ + UserDTO findById(Long id); + + /** + * 根据id批量查询 + */ + List queryByIds(Collection ids); + + /** + * 更新用户 + * @return 返回更新后的实体 + */ + UserDTO updateById(UserDTO userDTO); + + /** + * 根据id删除用户 + */ + Boolean deleteById(Long id); + + +} diff --git a/Motan-Demo/Service-Consumer/pom.xml b/Motan-Demo/Service-Consumer/pom.xml new file mode 100644 index 0000000..31ec032 --- /dev/null +++ b/Motan-Demo/Service-Consumer/pom.xml @@ -0,0 +1,108 @@ + + + + Motan-Demo + cn.mrdear.motan + 1.0-SNAPSHOT + + 4.0.0 + + cn.mrdear.motan + Service-Consumer + + + + cn.mrdear.motan + Service-Client + 1.0-SNAPSHOT + + + + com.weibo + motan-core + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.weibo + motan-transport-netty + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.weibo + motan-registry-zookeeper + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + com.101tec + zkclient + + + + + com.101tec + zkclient + 0.10 + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.weibo + motan-springsupport + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + org.springframework + spring-context + 4.3.6.RELEASE + + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/ApplicationStart.java b/Motan-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/ApplicationStart.java new file mode 100644 index 0000000..f5e634b --- /dev/null +++ b/Motan-Demo/Service-Consumer/src/main/java/cn/mrdear/consumer/ApplicationStart.java @@ -0,0 +1,21 @@ +package cn.mrdear.consumer; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import cn.mrdear.client.service.IUserService; + +/** + * @author Niu Li + * @since 2017/6/14 + */ +public class ApplicationStart { + + public static void main(String[] args) throws InterruptedException { + ApplicationContext ctx = new ClassPathXmlApplicationContext( + "classpath:applicationContext.xml"); + IUserService service = (IUserService) ctx.getBean("userService"); + System.out.println(service.findById(1L)); + } + +} diff --git a/Motan-Demo/Service-Consumer/src/main/resources/applicationContext.xml b/Motan-Demo/Service-Consumer/src/main/resources/applicationContext.xml new file mode 100644 index 0000000..28b860c --- /dev/null +++ b/Motan-Demo/Service-Consumer/src/main/resources/applicationContext.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Consumer/src/main/resources/logback.xml b/Motan-Demo/Service-Consumer/src/main/resources/logback.xml new file mode 100644 index 0000000..d68cd15 --- /dev/null +++ b/Motan-Demo/Service-Consumer/src/main/resources/logback.xml @@ -0,0 +1,19 @@ + + + + + + + + %d{HH:mm:ss} [%t] %logger{5} [%line] %p - %msg%n + + + + + + + + + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Provider/pom.xml b/Motan-Demo/Service-Provider/pom.xml new file mode 100644 index 0000000..d5a727e --- /dev/null +++ b/Motan-Demo/Service-Provider/pom.xml @@ -0,0 +1,151 @@ + + + + Motan-Demo + cn.mrdear.motan + 1.0-SNAPSHOT + + 4.0.0 + + cn.mrdear.motan + Service-Provider + + + + + cn.mrdear.motan + Service-Client + 1.0-SNAPSHOT + + + + com.weibo + motan-core + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.weibo + motan-transport-netty + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + com.weibo + motan-registry-zookeeper + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + com.101tec + zkclient + + + + + com.101tec + zkclient + 0.10 + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + + com.weibo + motan-springsupport + RELEASE + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + + org.springframework + spring-context + 4.3.6.RELEASE + + + org.springframework.data + spring-data-jpa + 1.10.4.RELEASE + + + + org.hibernate + hibernate-core + 5.1.0.Final + + + org.hibernate + hibernate-entitymanager + 5.1.0.Final + + + + + org.aspectj + aspectjweaver + 1.8.6 + + + org.aspectj + aspectjrt + 1.8.6 + + + + + cglib + cglib + 3.2.2 + + + + com.h2database + h2 + 1.4.187 + + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/ApplicationStart.java b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/ApplicationStart.java new file mode 100644 index 0000000..7db2920 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/ApplicationStart.java @@ -0,0 +1,22 @@ +package cn.mrdear.provider; + +import com.weibo.api.motan.common.MotanConstants; +import com.weibo.api.motan.util.MotanSwitcherUtil; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * @author Niu Li + * @since 2017/6/14 + */ +public class ApplicationStart { + + public static void main(String[] args) throws InterruptedException { + ApplicationContext applicationContext = + new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); + MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true); + System.out.println("server start..."); + } + +} diff --git a/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java new file mode 100644 index 0000000..67ae9ca --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/convert/UserConvert.java @@ -0,0 +1,42 @@ +package cn.mrdear.provider.convert; + +import org.springframework.beans.BeanUtils; +import org.springframework.util.CollectionUtils; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.provider.domain.User; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author Niu Li + * @since 2017/6/12 + */ +public class UserConvert { + + public static UserDTO toDTO(User user) { + UserDTO userDTO = new UserDTO(); + BeanUtils.copyProperties(user,userDTO); + return userDTO; + } + + + public static List toDTOS(List users) { + if (CollectionUtils.isEmpty(users)) { + return new ArrayList<>(1); + } + List results = new ArrayList<>(); + return users.stream().map(UserConvert::toDTO) + .collect(Collectors.toList()); + } + + + public static User toDO(UserDTO userDTO) { + User user = new User(); + BeanUtils.copyProperties(userDTO,user); + return user; + } + +} diff --git a/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java new file mode 100644 index 0000000..6b068b4 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/dao/UserRepository.java @@ -0,0 +1,24 @@ +package cn.mrdear.provider.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import cn.mrdear.provider.domain.User; + +import java.util.Collection; +import java.util.List; + +/** + * JPA repo层 + * @author Niu Li + * @since 2017/6/12 + */ +public interface UserRepository extends JpaRepository{ + + User findById(Long id); + + @Query("select p from User p where id in (?1)") + List queryByIds(Collection ids); + + +} diff --git a/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java new file mode 100644 index 0000000..81849e5 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/domain/User.java @@ -0,0 +1,39 @@ +package cn.mrdear.provider.domain; + +import lombok.Data; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import java.io.Serializable; + +/** + * 用户实体类,对应数据库 + * @author Niu Li + * @since 2017/6/12 + */ +@Data +@Entity +@Table(name = "user") +public class User implements Serializable{ + + private static final long serialVersionUID = 1793488098966504793L; + @Id + @GeneratedValue + private Long id; + + private String username; + + private String password; + + private Integer age; + + private String nickname; + + private String mail; + + private String memo; + +} diff --git a/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java new file mode 100644 index 0000000..7ab049a --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/java/cn/mrdear/provider/service/UserServiceImpl.java @@ -0,0 +1,46 @@ +package cn.mrdear.provider.service; + +import cn.mrdear.client.dto.UserDTO; +import cn.mrdear.client.service.IUserService; +import cn.mrdear.provider.convert.UserConvert; +import cn.mrdear.provider.dao.UserRepository; +import cn.mrdear.provider.domain.User; + +import javax.annotation.Resource; + +import java.util.Collection; +import java.util.List; + +/** + * @author Niu Li + * @since 2017/6/14 + */ +public class UserServiceImpl implements IUserService{ + @Resource + private UserRepository userRepository; + + @Override + public UserDTO findById(Long id) { + User user = userRepository.findById(id); + return UserConvert.toDTO(user); + } + + @Override + public List queryByIds(Collection ids) { + List users = userRepository.queryByIds(ids); + return UserConvert.toDTOS(users); + } + + @Override + public UserDTO updateById(UserDTO userDTO) { + User user = UserConvert.toDO(userDTO); + userRepository.save(user); + return this.findById(userDTO.getId()); + } + + @Override + public Boolean deleteById(Long id) { + userRepository.delete(id); + return true; + } +} diff --git a/Motan-Demo/Service-Provider/src/main/resources/applicationContext.xml b/Motan-Demo/Service-Provider/src/main/resources/applicationContext.xml new file mode 100644 index 0000000..4b5d788 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/resources/applicationContext.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.hibernate.dialect.MySQL5Dialect + + false + + false + + false + + none + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Motan-Demo/Service-Provider/src/main/resources/h2/data.sql b/Motan-Demo/Service-Provider/src/main/resources/h2/data.sql new file mode 100644 index 0000000..a09f7a8 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/resources/h2/data.sql @@ -0,0 +1,6 @@ +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('zhangsan', + '123456', 18, '张三', '1111@qq.com', 'hahahah'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('lis', +'123456', 19, '李四', '123131@qq.com', 'xixiixxi'); +INSERT INTO user (username, password, age, nickname, mail, memo) VALUES ('wanger', +'123456', 29, '王二', '12131984@qq.com', 'dqdh'); \ No newline at end of file diff --git a/Motan-Demo/Service-Provider/src/main/resources/h2/schema.sql b/Motan-Demo/Service-Provider/src/main/resources/h2/schema.sql new file mode 100644 index 0000000..8de82c2 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/resources/h2/schema.sql @@ -0,0 +1,10 @@ +DROP TABLE user if exist; +create table user ( + id INT(11) AUTO_INCREMENT PRIMARY KEY , + username VARCHAR(255), + password VARCHAR(255), + age INT(3), + nickname VARCHAR(255), + mail VARCHAR(255), + memo VARCHAR(255), + ); \ No newline at end of file diff --git a/Motan-Demo/Service-Provider/src/main/resources/logback.xml b/Motan-Demo/Service-Provider/src/main/resources/logback.xml new file mode 100644 index 0000000..d68cd15 --- /dev/null +++ b/Motan-Demo/Service-Provider/src/main/resources/logback.xml @@ -0,0 +1,19 @@ + + + + + + + + %d{HH:mm:ss} [%t] %logger{5} [%line] %p - %msg%n + + + + + + + + + + + \ No newline at end of file diff --git a/Motan-Demo/pom.xml b/Motan-Demo/pom.xml new file mode 100644 index 0000000..eb68369 --- /dev/null +++ b/Motan-Demo/pom.xml @@ -0,0 +1,79 @@ + + + 4.0.0 + + pom + + + Service-Client + Service-Provider + Service-Consumer + + + cn.mrdear.motan + Motan-Demo + 1.0-SNAPSHOT + + + + + org.projectlombok + lombok + 1.16.14 + + + junit + junit + 4.12 + + + com.google.guava + guava + 21.0 + + + + org.slf4j + slf4j-api + 1.7.7 + + + org.slf4j + jcl-over-slf4j + 1.7.7 + + + ch.qos.logback + logback-core + 1.1.2 + + + org.logback-extensions + logback-ext-spring + 0.1.4 + + + ch.qos.logback + logback-classic + 1.1.2 + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + UTF-8 + + + + + + \ No newline at end of file diff --git a/Pay-Demo/.idea/compiler.xml b/Pay-Demo/.idea/compiler.xml deleted file mode 100644 index 4dbd659..0000000 --- a/Pay-Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/copyright/profiles_settings.xml b/Pay-Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/Pay-Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/deployment.xml b/Pay-Demo/.idea/deployment.xml deleted file mode 100644 index 25a0408..0000000 --- a/Pay-Demo/.idea/deployment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/encodings.xml b/Pay-Demo/.idea/encodings.xml deleted file mode 100644 index c0bce70..0000000 --- a/Pay-Demo/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml b/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml deleted file mode 100644 index a8b0d9c..0000000 --- a/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml b/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml deleted file mode 100644 index 1c76d0b..0000000 --- a/Pay-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml b/Pay-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml deleted file mode 100644 index 3888159..0000000 --- a/Pay-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/Pay-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml deleted file mode 100644 index 27424a1..0000000 --- a/Pay-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/Pay-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/Pay-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__junit_junit_4_10.xml b/Pay-Demo/.idea/libraries/Maven__junit_junit_4_10.xml deleted file mode 100644 index ed8bf5f..0000000 --- a/Pay-Demo/.idea/libraries/Maven__junit_junit_4_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml b/Pay-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml deleted file mode 100644 index 83cba3e..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml b/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml deleted file mode 100644 index 5601459..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml b/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml deleted file mode 100644 index 1c14963..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_51.xml b/Pay-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_51.xml deleted file mode 100644 index e98695e..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_51.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml b/Pay-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml deleted file mode 100644 index acdf443..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml b/Pay-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml deleted file mode 100644 index 282edcb..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml b/Pay-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml deleted file mode 100644 index 1e67260..0000000 --- a/Pay-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/libraries/alipay_sdk_java20161029120104.xml b/Pay-Demo/.idea/libraries/alipay_sdk_java20161029120104.xml deleted file mode 100644 index 106ac78..0000000 --- a/Pay-Demo/.idea/libraries/alipay_sdk_java20161029120104.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/misc.xml b/Pay-Demo/.idea/misc.xml deleted file mode 100644 index 7586d10..0000000 --- a/Pay-Demo/.idea/misc.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - C:\Users\NL\AppData\Roaming\Subversion - - \ No newline at end of file diff --git a/Pay-Demo/.idea/modules.xml b/Pay-Demo/.idea/modules.xml deleted file mode 100644 index 923c63e..0000000 --- a/Pay-Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/uiDesigner.xml b/Pay-Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/Pay-Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/.idea/workspace.xml b/Pay-Demo/.idea/workspace.xml deleted file mode 100644 index 68c7538..0000000 --- a/Pay-Demo/.idea/workspace.xml +++ /dev/null @@ -1,1671 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Java - - - Java language level migration aidsJava - - - - - Since15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1477710230969 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No facets are configured - - - - - - - - app - - - - - - - - 1.8 - - - - - - - - CommonPay - - - - - - - - 1.8 - - - - - - - - alipay-sdk-java20161029120104 - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/CommonPay.iml b/Pay-Demo/CommonPay.iml deleted file mode 100644 index 0899be1..0000000 --- a/Pay-Demo/CommonPay.iml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Pay-Demo/pom.xml b/Pay-Demo/pom.xml index 7ae5ba7..c87d8e1 100644 --- a/Pay-Demo/pom.xml +++ b/Pay-Demo/pom.xml @@ -3,11 +3,11 @@ 4.0.0 cn.mrdear - commonpay + Pay-Demo 1.0.0 jar - commonpay + Pay-demo http://maven.apache.org diff --git a/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AliPayConfig.java b/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AliPayConfig.java index 9e7217e..64a6cbc 100644 --- a/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AliPayConfig.java +++ b/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AliPayConfig.java @@ -54,6 +54,10 @@ public final class AliPayConfig { * 交易关闭回调(当该笔订单全部退款完毕,则交易关闭) */ public static final String TRADE_CLOSED = "TRADE_CLOSED"; + /** + * 收款方账号 + */ + public static final String SELLER_ID = "xxxx@qq.com"; /** * 支付宝请求客户端入口 */ diff --git a/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AlipayTrade.java b/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AlipayTrade.java index 06aac73..8b8c713 100644 --- a/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AlipayTrade.java +++ b/Pay-Demo/src/main/java/cn/mrdear/pay/alipay/AlipayTrade.java @@ -31,11 +31,12 @@ public class AlipayTrade { * url https://doc.open.alipay.com/doc2/detail.htm?treeId=203&articleId=105463&docType=1#s1 * @return web支付的表单 */ - public String TradeWapPayRequest(Map sParaTemp){ + public String TradeWapPayRequest(Map sParaTemp){ AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest(); alipayRequest.setReturnUrl(AliPayConfig.RETURN_URL); alipayRequest.setNotifyUrl(AliPayConfig.PAY_NOTIFY); // 待请求参数数组 + sParaTemp.put("seller_id",AliPayConfig.SELLER_ID); alipayRequest.setBizContent(JSON.toJSONString(sParaTemp)); String form = ""; try { diff --git a/Pay-Demo/src/main/java/cn/mrdear/pay/unionpay/UnionPayTrade.java b/Pay-Demo/src/main/java/cn/mrdear/pay/unionpay/UnionPayTrade.java index 2a88287..3a672fb 100644 --- a/Pay-Demo/src/main/java/cn/mrdear/pay/unionpay/UnionPayTrade.java +++ b/Pay-Demo/src/main/java/cn/mrdear/pay/unionpay/UnionPayTrade.java @@ -6,7 +6,6 @@ import java.util.Map; -import javax.servlet.http.HttpServletRequest; import cn.mrdear.pay.unionpay.sdk.AcpService; import cn.mrdear.pay.util.SignUtil; diff --git a/Pay-Demo/src/test/java/cn/mrdear/pay/alipay/AlipayTradeTest.java b/Pay-Demo/src/test/java/cn/mrdear/pay/alipay/AlipayTradeTest.java index 7bc41cd..aad33b8 100644 --- a/Pay-Demo/src/test/java/cn/mrdear/pay/alipay/AlipayTradeTest.java +++ b/Pay-Demo/src/test/java/cn/mrdear/pay/alipay/AlipayTradeTest.java @@ -19,8 +19,7 @@ public void testTradeWapPayRequest(){ Map paraMap = new HashMap(); paraMap.put("out_trade_no",System.currentTimeMillis()+""); paraMap.put("total_amount","0.01"); - paraMap.put("subject","测试退款"); - paraMap.put("seller_id",System.currentTimeMillis()+""); + paraMap.put("subject","测试下单"); paraMap.put("product_code","QUICK_WAP_PAY"); alipayTrade.TradeWapPayRequest(paraMap); } diff --git a/README.MD b/README.MD index b3c7031..5ab30da 100644 --- a/README.MD +++ b/README.MD @@ -1,3 +1,7 @@ +### 2017.9.27 +随着开发经验的增加,现在觉得这种Demo对于学习一个框架起不到太大的作用,顶多是个参考,并且由于使用经验的增加,对于之前一些错误的用法很难得到纠正,如果想要快速入门的话官方+造轮子才是最佳选择,类似豆瓣有许多开放的API,都可以用来练手,最后该项目不再更新,这点经验希望能帮助你. + + #该仓库主要记录学习javaWEB中一些Demo 1.SSM-Demo @@ -18,11 +22,11 @@ -------------- 该Demo是做学习Spring-Boot时整合环境,整合了thymeleaf,Mybatis,Druid,ehcache可以拉下来直接进行二次开发,如果是WebService服务的话,去掉thymeleaf即可. -4.maven多模块项目 +4.Maven-Demo -------------- 该demo针对具体项目所整合.主要设计mybatis多模块使用,spring多模块使用,要点就是无论什么模块,只要配置文件加载位置正确配置,就不会出问题. -5.HtmlUnit-Demo +5.HtmlUnit-Demo -------------- 使用htmlUnit模拟浏览器请求,抓取Shadowsocks的一些免费账户使用,在win下配合bat脚本启动,很是方便.详情可以看项目的Main方法使用说明. @@ -33,11 +37,39 @@ 7.JPA-Demo -------------- -学习SpringDataJPA使用,需要配合博客博文http://www.jianshu.com/p/e3812fc23f83 ,该Demo主要是对复杂查询的封装,为原生sql和JPQL查询封装一个通用的方法.具体可以看代码的test包中的测试代码 +SpringDataJPA+QueryDSL使用,需要配合博客博文http://www.jianshu.com/p/e3812fc23f83 ,两者配合很好地解决了单表动态查询,多表动态查询. 8.Util-Demo -------------- 开发中常用工具类的写法,比如PropertiesUtil,XmlUtil,HttpUtil等,该Demo希望大家能不断扩充. -9.待添加 +9.gRPC-Demo +-------------- +参考官方案例的gRPC的Demo,里面有Hello World和 RouteGuide案例,适合入门.相关博文参考 http://www.jianshu.com/nb/9491747 + +10.Excel-Demo +-------------- +使用Apache-poi封装的一个通用表单导出模块和解析模块,可以很容易的迁移到项目中,配合Jackxml使用更佳 + +11.Spring-Data-Redis +-------------- +SpringDataRedis学习的一个Demo,内容不多,配合博文:[redis学习记录(四)-SpringDataRedis分析](http://mrdear.cn/2017/03/29/linux/redis%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95(%E5%9B%9B)-SpringDataRedis%E5%88%86%E6%9E%90/)可以很好的入手 + +12.Spring-Cloud-Demo +-------------- +学习Spring Cloud的一个Demo,其中对于Eureka,Ribbon,Feign等都有相应的Demo,相应博文会更新在[我的博客](mrdear.cn)上,希望对你有帮助 + +13.Dubbo-Demo +-------------- +增加Dubbo-Demo,一个基本的RPC调用Demo + +14.Motan-Demo +-------------- +增加Motan-Demo,一个基本的RPC调用Demo + +15.Spring-Security-Demo +-------------- +增加Spring Security Demo,项目中使用了JWT Token验证机制,该项目可以很好的了解整个流程的作用,需要配合我博客中Spring Security相关博文食用. + +16.待添加 -------------- diff --git a/SSM--Demo/.idea/artifacts/Freemarker_war.xml b/SSM--Demo/.idea/artifacts/Freemarker_war.xml deleted file mode 100644 index a014441..0000000 --- a/SSM--Demo/.idea/artifacts/Freemarker_war.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/target - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/artifacts/Freemarker_war_exploded.xml b/SSM--Demo/.idea/artifacts/Freemarker_war_exploded.xml deleted file mode 100644 index 5056fc8..0000000 --- a/SSM--Demo/.idea/artifacts/Freemarker_war_exploded.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - $PROJECT_DIR$/target/mrdear-1.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/compiler.xml b/SSM--Demo/.idea/compiler.xml deleted file mode 100644 index 9d05644..0000000 --- a/SSM--Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/copyright/profiles_settings.xml b/SSM--Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/SSM--Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/dataSources.ids b/SSM--Demo/.idea/dataSources.ids deleted file mode 100644 index 86f0a67..0000000 --- a/SSM--Demo/.idea/dataSources.ids +++ /dev/null @@ -1,202 +0,0 @@ - - - - - #@ - ` - - - - -
-
-
-
-
-
- - 1 - int(11) - 1 - - - varchar(255) - - - varchar(100) - - - varchar(100) - - - int(11) - - - user_id - - - - id - 1 - - - user_id - ~.user.PRIMARY - restrict - restrict - - - 1 - int(11) - 1 - - - varchar(100) - - - id - 1 - - - 1 - int(11) - 1 - - - varchar(100) - - - double - - - text - - - varchar(100) - - - int(10) - - - int(10) - - - c_id - - - - id - 1 - - - c_id - ~.t_category.PRIMARY - restrict - restrict - - - 1 - int(11) - 1 - - - int(10) - - - int(10) - - - goods_id - - - - orders_id - - - - id - 1 - - - goods_id - ~.t_goods.PRIMARY - restrict - restrict - - - orders_id - ~.t_orders.PRIMARY - restrict - restrict - - - 1 - int(11) - 1 - - - datetime - - - datetime - - - datetime - - - int(5) - - - int(11) - - - int(11) - - - address_id - - - - user_id - - - - id - 1 - - - user_id - ~.user.PRIMARY - restrict - restrict - - - address_id - ~.t_address.PRIMARY - restrict - restrict - - - 1 - int(3) - 1 - - - varchar(30) - - - varchar(30) - - - varchar(30) - - - int(2) - - - id - 1 - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/dataSources.local.xml b/SSM--Demo/.idea/dataSources.local.xml deleted file mode 100644 index 0a839de..0000000 --- a/SSM--Demo/.idea/dataSources.local.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - #@ - ` - - - memory - root - shopdemo:* - shopdemo:* - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/dataSources.xml b/SSM--Demo/.idea/dataSources.xml deleted file mode 100644 index 988e953..0000000 --- a/SSM--Demo/.idea/dataSources.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - mysql - true - com.mysql.jdbc.Driver - jdbc:mysql://localhost:3306/shopdemo - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/dataSources/7c49da35-2907-409b-947b-220b9e548c32.xml b/SSM--Demo/.idea/dataSources/7c49da35-2907-409b-947b-220b9e548c32.xml deleted file mode 100644 index b8bbae2..0000000 --- a/SSM--Demo/.idea/dataSources/7c49da35-2907-409b-947b-220b9e548c32.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - - 1 - -
-
-
-
-
-
- - 1 - int(11)|0 - 1 - - - varchar(255)|0 - - - varchar(100)|0 - - - varchar(100)|0 - - - int(11)|0 - - - user_id - - - - id - 1 - - - user_id - ~.user.PRIMARY - restrict - restrict - - - 1 - int(11)|0 - 1 - - - varchar(100)|0 - - - id - 1 - - - 1 - int(11)|0 - 1 - - - varchar(100)|0 - - - double|0 - - - text|0 - - - varchar(100)|0 - - - int(10)|0 - - - int(10)|0 - - - c_id - - - - id - 1 - - - c_id - ~.t_category.PRIMARY - restrict - restrict - - - 1 - int(11)|0 - 1 - - - int(10)|0 - - - int(10)|0 - - - goods_id - - - - orders_id - - - - id - 1 - - - goods_id - ~.t_goods.PRIMARY - restrict - restrict - - - orders_id - ~.t_orders.PRIMARY - restrict - restrict - - - 1 - int(11)|0 - 1 - - - datetime|0 - - - datetime|0 - - - datetime|0 - - - int(5)|0 - - - int(11)|0 - - - int(11)|0 - - - address_id - - - - user_id - - - - id - 1 - - - user_id - ~.user.PRIMARY - restrict - restrict - - - address_id - ~.t_address.PRIMARY - restrict - restrict - - - 1 - int(3)|0 - 1 - - - varchar(30)|0 - - - varchar(30)|0 - - - varchar(30)|0 - - - int(2)|0 - - - id - 1 - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/encodings.xml b/SSM--Demo/.idea/encodings.xml deleted file mode 100644 index c0bce70..0000000 --- a/SSM--Demo/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml b/SSM--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml deleted file mode 100644 index 9e3d27a..0000000 --- a/SSM--Demo/.idea/libraries/Maven__cglib_cglib_3_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml b/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml deleted file mode 100644 index cdd7959..0000000 --- a/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml b/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml deleted file mode 100644 index 6c2a760..0000000 --- a/SSM--Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml b/SSM--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml deleted file mode 100644 index a99867b..0000000 --- a/SSM--Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml b/SSM--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml deleted file mode 100644 index 974cfda..0000000 --- a/SSM--Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml b/SSM--Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml deleted file mode 100644 index 727b8fe..0000000 --- a/SSM--Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml b/SSM--Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml deleted file mode 100644 index eba478b..0000000 --- a/SSM--Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml b/SSM--Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml deleted file mode 100644 index 84bf18c..0000000 --- a/SSM--Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml b/SSM--Demo/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml deleted file mode 100644 index 9c245b9..0000000 --- a/SSM--Demo/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml b/SSM--Demo/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml deleted file mode 100644 index 3caee7e..0000000 --- a/SSM--Demo/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_2.xml b/SSM--Demo/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_2.xml deleted file mode 100644 index f180407..0000000 --- a/SSM--Demo/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml b/SSM--Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml deleted file mode 100644 index 67c2ad2..0000000 --- a/SSM--Demo/.idea/libraries/Maven__commons_io_commons_io_2_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/SSM--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/SSM--Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml b/SSM--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml deleted file mode 100644 index 940ce73..0000000 --- a/SSM--Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml b/SSM--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml deleted file mode 100644 index 18e6ec9..0000000 --- a/SSM--Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml b/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml deleted file mode 100644 index 1c71163..0000000 --- a/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml b/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml deleted file mode 100644 index e41e7ba..0000000 --- a/SSM--Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml b/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml deleted file mode 100644 index 8cba3e1..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml b/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml deleted file mode 100644 index 4a5c8b2..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml b/SSM--Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml deleted file mode 100644 index 78cfcd3..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml b/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml deleted file mode 100644 index c62d9a0..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml b/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml deleted file mode 100644 index 61938e1..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml b/SSM--Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml deleted file mode 100644 index 6c5e17f..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml b/SSM--Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml deleted file mode 100644 index ce63724..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_logback_extensions_logback_ext_spring_0_1_4.xml b/SSM--Demo/.idea/libraries/Maven__org_logback_extensions_logback_ext_spring_0_1_4.xml deleted file mode 100644 index a3b7eff..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_logback_extensions_logback_ext_spring_0_1_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml b/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml deleted file mode 100644 index 19d1175..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml b/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml deleted file mode 100644 index 87a1f58..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml b/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml deleted file mode 100644 index bd108d5..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml b/SSM--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml deleted file mode 100644 index 0bf8cf2..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_12.xml b/SSM--Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_12.xml deleted file mode 100644 index 5aeb229..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml b/SSM--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml deleted file mode 100644 index 1b644dd..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml deleted file mode 100644 index 4508a6b..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml deleted file mode 100644 index d650bb8..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml deleted file mode 100644 index b497541..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml deleted file mode 100644 index 0cc3aa4..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml deleted file mode 100644 index aca549b..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml deleted file mode 100644 index e802cd8..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml deleted file mode 100644 index 7b6a300..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml deleted file mode 100644 index 144d742..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml deleted file mode 100644 index 0254b40..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml deleted file mode 100644 index 2b7b1d4..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml b/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml deleted file mode 100644 index e4b70bb..0000000 --- a/SSM--Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/misc.xml b/SSM--Demo/.idea/misc.xml deleted file mode 100644 index adfbe50..0000000 --- a/SSM--Demo/.idea/misc.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/modules.xml b/SSM--Demo/.idea/modules.xml deleted file mode 100644 index 95a223d..0000000 --- a/SSM--Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/uiDesigner.xml b/SSM--Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/SSM--Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/.idea/workspace.xml b/SSM--Demo/.idea/workspace.xml deleted file mode 100644 index 5b340d1..0000000 --- a/SSM--Demo/.idea/workspace.xml +++ /dev/null @@ -1,1314 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\牛李\AppData\Roaming\Subversion - - - - - 1469149044008 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Freemarker:war - - - - - - - - Web - - - - - - - - - - - - - - - 1.8 - - - - - - - - Freemarker - - - - - - - - 1.8 - - - - - - - - Maven: junit:junit:3.8.1 - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/Freemarker.iml b/SSM--Demo/Freemarker.iml deleted file mode 100644 index bff1f9b..0000000 --- a/SSM--Demo/Freemarker.iml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - file://$MODULE_DIR$/src/main/resources/spring/dispatcher-servlet.xml - file://$MODULE_DIR$/src/main/resources/spring/applicationContext.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/src/main/java/cn/mrdear/controller/CacheTest.java b/SSM--Demo/src/main/java/cn/mrdear/controller/CacheTest.java deleted file mode 100644 index eb30881..0000000 --- a/SSM--Demo/src/main/java/cn/mrdear/controller/CacheTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.mrdear.controller; - -import com.alibaba.fastjson.JSONObject; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -import cn.mrdear.service.CacheTestService; - -/** - * @author Niu Li - * @date 2016/9/22 - */ -@RestController -public class CacheTest { - @Resource - private CacheTestService CacheTestService; - - @RequestMapping(value = "/test") - public JSONObject test(int id){ - JSONObject object = CacheTestService.getjson(id); - JSONObject object1 = CacheTestService.getjson(id); - System.out.println(object == object1); - return CacheTestService.getjson(id); - } -} diff --git a/SSM--Demo/src/main/java/cn/mrdear/service/CacheTestService.java b/SSM--Demo/src/main/java/cn/mrdear/service/CacheTestService.java deleted file mode 100644 index bbbf6fd..0000000 --- a/SSM--Demo/src/main/java/cn/mrdear/service/CacheTestService.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.mrdear.service; - -import com.alibaba.fastjson.JSONObject; - -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -/** - * @author Niu Li - * @date 2016/9/23 - */ -@Service -public class CacheTestService { - - @Cacheable(value = "springCache") - public JSONObject getjson(int id){ - JSONObject object = new JSONObject(); - object.put("hahah","123"); - object.put("id",id); - return object; - } -} diff --git a/SSM--Demo/src/main/resources/mybatis/mapper/userMapper.xml b/SSM--Demo/src/main/resources/mybatis/mapper/userMapper.xml deleted file mode 100644 index 9c01206..0000000 --- a/SSM--Demo/src/main/resources/mybatis/mapper/userMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SSM--Demo/doc/readme.md b/SSM-Demo/doc/readme.md similarity index 100% rename from SSM--Demo/doc/readme.md rename to SSM-Demo/doc/readme.md diff --git a/SSM--Demo/pom.xml b/SSM-Demo/pom.xml similarity index 81% rename from SSM--Demo/pom.xml rename to SSM-Demo/pom.xml index 7cb87c3..cb23e4b 100644 --- a/SSM--Demo/pom.xml +++ b/SSM-Demo/pom.xml @@ -2,28 +2,27 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0cn.mrdear - mrdear + SSM-Demowar1.0.0 - mrdear Maven Webapp + SSM-Demohttp://maven.apache.org + 4.3.2.RELEASE 3.4.1 1.3.0 4.1.6 + 3.3.9 2.6.11 2.0.4 1.0.0 - 3.0.1.RELEASE - 1.3.0 5.2.4.Final 1.0.25 1.2.16 5.1.39 1.7.21 1.1.7 - 19.0 4.5.2 3.4 1.9.2 @@ -34,27 +33,8 @@ + - - org.springframework - spring-core - ${spring.version} - - - org.springframework - spring-web - ${spring.version} - - - org.springframework - spring-jdbc - ${spring.version} - - - org.springframework - spring-tx - ${spring.version} - org.springframework spring-webmvc @@ -62,7 +42,7 @@ org.springframework - spring-aop + spring-jdbc ${spring.version} @@ -75,7 +55,6 @@ spring-test ${spring.version} - cglib @@ -93,7 +72,6 @@ aspectjrt 1.8.6 - org.mybatis @@ -125,35 +103,42 @@ ehcache-web ${ehcache.web} - + + + tk.mybatis + mapper + ${mybatis.mapper} + + + + javax.persistence + persistence-api + 1.0.2 + mysql mysql-connector-java ${mysql.version} - com.alibaba druid ${druid.version} - com.alibaba fastjson ${fastjson.version} - org.hibernate hibernate-validator ${hibernate.validator} - org.apache.commons @@ -175,7 +160,6 @@ commons-fileupload ${commonfile.version} - org.slf4j @@ -202,12 +186,44 @@ jcl-over-slf4j ${slf4j.jcl.version} - + + javax.servlet + jstl + 1.2 + runtime + + - + + ssm + + + + org.mybatis.generator + mybatis-generator-maven-plugin + 1.3.2 + + ../SSM-Demo/src/main/resources/ModelGenerator.xml + true + true + + + + mysql + mysql-connector-java + 5.1.39 + + + tk.mybatis + mapper + 3.3.9 + + + + org.apache.maven.plugins maven-compiler-plugin @@ -218,6 +234,5 @@ - diff --git a/SSM-Demo/src/main/java/cn/mrdear/controller/BookController.java b/SSM-Demo/src/main/java/cn/mrdear/controller/BookController.java new file mode 100644 index 0000000..e488320 --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/controller/BookController.java @@ -0,0 +1,27 @@ +package cn.mrdear.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import javax.annotation.Resource; + +import cn.mrdear.entity.Book; +import cn.mrdear.service.BookService; + +/** + * @author Niu Li + * @since 2016/9/22 + */ +@RestController +public class BookController { + + @Resource + private BookService bookService; + + @GetMapping("/books") + public List books(){ + return bookService.findAll(); + } +} diff --git a/SSM-Demo/src/main/java/cn/mrdear/controller/ErrorController.java b/SSM-Demo/src/main/java/cn/mrdear/controller/ErrorController.java new file mode 100644 index 0000000..449c00d --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/controller/ErrorController.java @@ -0,0 +1,17 @@ +package cn.mrdear.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * @author Niu Li + * @since 2017/4/19 + */ +@Controller +public class ErrorController { + + @GetMapping("/error") + public String error(){ + return "error"; + } +} diff --git a/SSM-Demo/src/main/java/cn/mrdear/entity/Book.java b/SSM-Demo/src/main/java/cn/mrdear/entity/Book.java new file mode 100644 index 0000000..08d5077 --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/entity/Book.java @@ -0,0 +1,82 @@ +package cn.mrdear.entity; + +import java.io.Serializable; + +import javax.persistence.*; + +@Table(name = "book") +public class Book implements Serializable{ + + private static final long serialVersionUID = 4189250872871101725L; + /** + * 图书ID + */ + @Id + @Column(name = "book_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long bookId; + + /** + * 图书名称 + */ + private String name; + + /** + * 馆藏数量 + */ + private Integer number; + + /** + * 获取图书ID + * + * @return book_id - 图书ID + */ + public Long getBookId() { + return bookId; + } + + /** + * 设置图书ID + * + * @param bookId 图书ID + */ + public void setBookId(Long bookId) { + this.bookId = bookId; + } + + /** + * 获取图书名称 + * + * @return name - 图书名称 + */ + public String getName() { + return name; + } + + /** + * 设置图书名称 + * + * @param name 图书名称 + */ + public void setName(String name) { + this.name = name; + } + + /** + * 获取馆藏数量 + * + * @return number - 馆藏数量 + */ + public Integer getNumber() { + return number; + } + + /** + * 设置馆藏数量 + * + * @param number 馆藏数量 + */ + public void setNumber(Integer number) { + this.number = number; + } +} \ No newline at end of file diff --git a/SSM-Demo/src/main/java/cn/mrdear/exception/GlobalException.java b/SSM-Demo/src/main/java/cn/mrdear/exception/GlobalException.java new file mode 100644 index 0000000..bec18d4 --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/exception/GlobalException.java @@ -0,0 +1,78 @@ +package cn.mrdear.exception; + +import com.alibaba.fastjson.JSONObject; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 全局异常配置 + * @author Niu Li + * @since 2017/4/19 + */ +@ControllerAdvice +public class GlobalException { + + private static Logger logger = LoggerFactory.getLogger(GlobalException.class); + /** + * 全局异常处理 + * + * @param request 请求 + * @param response 返回 + * @param ex 异常 + */ + @ExceptionHandler(value = Exception.class) + @ResponseStatus(HttpStatus.OK)//错误码可以自己定义 + @ResponseBody + public Object exceptionHandler(HttpServletRequest request, HttpServletResponse response, Exception ex) { + logger.error("ExceptionHander catch error: ", ex); + //判断是否为ajax请求 + String xRequested = request.getHeader("x-requested-with"); + if (StringUtils.equalsIgnoreCase(xRequested,"XMLHttpRequest")){ + return handlerAjax(ex); + } + + //重定向到错误页面,错误页面需要自己定义 + request.setAttribute("errorMessage",ex.getMessage()); + redirect("/error", HttpStatus.NOT_FOUND,request,response); + return null; + } + + /** + * 处理ajax异常 + * @param ex 异常 + * @return json异常信息 + */ + private JSONObject handlerAjax(Exception ex){ + JSONObject resultVO = new JSONObject(); + resultVO.put("status",0); + resultVO.put("msg",ex.getMessage()); + return resultVO; + } + + /** + * 重定向到错误页面 + * @param url 链接 + */ + private void redirect(String url,HttpStatus status,HttpServletRequest request, + HttpServletResponse response){ + try { + response.setStatus(status.value()); + request.getRequestDispatcher(url).forward(request,response); + } catch (IOException | ServletException e) { + logger.error("redirect fail,e:{}",e); + } + } +} diff --git a/SSM-Demo/src/main/java/cn/mrdear/mapper/BookMapper.java b/SSM-Demo/src/main/java/cn/mrdear/mapper/BookMapper.java new file mode 100644 index 0000000..35bb73a --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/mapper/BookMapper.java @@ -0,0 +1,8 @@ +package cn.mrdear.mapper; + +import cn.mrdear.entity.Book; +import tk.mybatis.mapper.common.Mapper; + +public interface BookMapper extends Mapper { + +} \ No newline at end of file diff --git a/SSM-Demo/src/main/java/cn/mrdear/service/BookService.java b/SSM-Demo/src/main/java/cn/mrdear/service/BookService.java new file mode 100644 index 0000000..ad31516 --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/service/BookService.java @@ -0,0 +1,19 @@ +package cn.mrdear.service; + +import org.springframework.cache.annotation.Cacheable; + +import java.util.List; + +import cn.mrdear.entity.Book; + +/** + * @author Niu Li + * @date 2016/9/23 + */ +public interface BookService { + /** + * 查询所有的books + * @return 结果集 + */ + List findAll(); +} diff --git a/SSM-Demo/src/main/java/cn/mrdear/service/impl/BookServiceImpl.java b/SSM-Demo/src/main/java/cn/mrdear/service/impl/BookServiceImpl.java new file mode 100644 index 0000000..c2dbca0 --- /dev/null +++ b/SSM-Demo/src/main/java/cn/mrdear/service/impl/BookServiceImpl.java @@ -0,0 +1,31 @@ +package cn.mrdear.service.impl; + +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import java.util.List; + +import javax.annotation.Resource; + +import cn.mrdear.entity.Book; +import cn.mrdear.mapper.BookMapper; +import cn.mrdear.service.BookService; + +/** + * @author Niu Li + * @since 2017/1/23 + */ +@Service +public class BookServiceImpl implements BookService { + + @Resource + private BookMapper bookMapper; + + @Override + @Cacheable(cacheNames = "bookcache") + public List findAll() { + List books = bookMapper.selectAll(); + System.out.println("测试缓存,如果缓存开启,多次请求则该方法会执行一次"); + return books; + } +} diff --git a/SSM-Demo/src/main/resources/ModelGenerator.xml b/SSM-Demo/src/main/resources/ModelGenerator.xml new file mode 100644 index 0000000..98a4080 --- /dev/null +++ b/SSM-Demo/src/main/resources/ModelGenerator.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + \ No newline at end of file diff --git a/SSM-Demo/src/main/resources/db.properties b/SSM-Demo/src/main/resources/db.properties new file mode 100644 index 0000000..aa18d74 --- /dev/null +++ b/SSM-Demo/src/main/resources/db.properties @@ -0,0 +1,23 @@ +jdbc.driver=com.mysql.jdbc.Driver +jdbc.url=jdbc:mysql://115.159.185.14:3306/ssm?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 +jdbc.username=root +jdbc.password=7946521 + +filters:stat + +maxActive:20 +initialSize:1 +maxWait:60000 +minIdle:10 + +timeBetweenEvictionRunsMillis:60000 +minEvictableIdleTimeMillis:300000 + +testWhileIdle:true +testOnBorrow:false +testOnReturn:false + +maxOpenPreparedStatements:20 +removeAbandoned:true +removeAbandonedTimeout:1800 +logAbandoned:true diff --git a/SSM-Demo/src/main/resources/db.sql b/SSM-Demo/src/main/resources/db.sql new file mode 100644 index 0000000..bdc7459 --- /dev/null +++ b/SSM-Demo/src/main/resources/db.sql @@ -0,0 +1,31 @@ +/* +SQLyog Ultimate v12.08 (64 bit) +MySQL - 5.6.24 : Database - ssm +********************************************************************* +*/ + + +/*!40101 SET NAMES utf8 */; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/`ssm` /*!40100 DEFAULT CHARACTER SET utf8 */; + +USE `ssm`; + + + +/*Table structure for table `book` */ + +CREATE TABLE `book` ( + `book_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '图书ID', + `name` varchar(100) NOT NULL COMMENT '图书名称', + `number` int(11) NOT NULL COMMENT '馆藏数量', + PRIMARY KEY (`book_id`) +) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8 COMMENT='图书表'; + +/*Data for the table `book` */ + +LOCK TABLES `book` WRITE; + +insert into `book`(`book_id`,`name`,`number`) values (1000,'Java程序设计',10),(1001,'数据结构',10),(1002,'设计模式',10),(1003,'编译原理',10); + +UNLOCK TABLES; diff --git a/SSM--Demo/src/main/resources/ehcache.xml b/SSM-Demo/src/main/resources/ehcache.xml similarity index 98% rename from SSM--Demo/src/main/resources/ehcache.xml rename to SSM-Demo/src/main/resources/ehcache.xml index 33920c7..1f6d01d 100644 --- a/SSM--Demo/src/main/resources/ehcache.xml +++ b/SSM-Demo/src/main/resources/ehcache.xml @@ -25,7 +25,7 @@ diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区 memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用) --> - - + diff --git a/SSM-Demo/src/main/resources/mybatis/mapper/BookMapper.xml b/SSM-Demo/src/main/resources/mybatis/mapper/BookMapper.xml new file mode 100644 index 0000000..745ae83 --- /dev/null +++ b/SSM-Demo/src/main/resources/mybatis/mapper/BookMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + book_id, name, number + + \ No newline at end of file diff --git a/SSM--Demo/src/main/resources/mybatis/sqlmapconfig.xml b/SSM-Demo/src/main/resources/mybatis/sqlmapconfig.xml similarity index 100% rename from SSM--Demo/src/main/resources/mybatis/sqlmapconfig.xml rename to SSM-Demo/src/main/resources/mybatis/sqlmapconfig.xml diff --git a/SSM--Demo/src/main/resources/spring/applicationContext.xml b/SSM-Demo/src/main/resources/spring/applicationContext.xml similarity index 92% rename from SSM--Demo/src/main/resources/spring/applicationContext.xml rename to SSM-Demo/src/main/resources/spring/applicationContext.xml index e96f1d5..2c20542 100644 --- a/SSM--Demo/src/main/resources/spring/applicationContext.xml +++ b/SSM-Demo/src/main/resources/spring/applicationContext.xml @@ -5,7 +5,6 @@ xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:task="http://www.springframework.org/schema/task" - xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"> @@ -65,20 +64,20 @@ - + - + + + + mappers=tk.mybatis.mapper.common.Mapper + + - - - - - @@ -103,7 +102,9 @@ rollback-for="java.lang.Exception" /> - + + + diff --git a/SSM--Demo/src/main/resources/spring/dispatcher-servlet.xml b/SSM-Demo/src/main/resources/spring/dispatcher-servlet.xml similarity index 90% rename from SSM--Demo/src/main/resources/spring/dispatcher-servlet.xml rename to SSM-Demo/src/main/resources/spring/dispatcher-servlet.xml index 347bad8..7fd3f3a 100644 --- a/SSM--Demo/src/main/resources/spring/dispatcher-servlet.xml +++ b/SSM-Demo/src/main/resources/spring/dispatcher-servlet.xml @@ -1,11 +1,11 @@ - + @@ -48,7 +48,6 @@ - @@ -61,9 +60,6 @@ - - - +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +

Error 页面

+ + diff --git a/SSM--Demo/src/main/webapp/WEB-INF/web.xml b/SSM-Demo/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from SSM--Demo/src/main/webapp/WEB-INF/web.xml rename to SSM-Demo/src/main/webapp/WEB-INF/web.xml diff --git a/SSM-Demo/src/main/webapp/index.jsp b/SSM-Demo/src/main/webapp/index.jsp new file mode 100644 index 0000000..79c57f9 --- /dev/null +++ b/SSM-Demo/src/main/webapp/index.jsp @@ -0,0 +1,17 @@ +<%-- + Created by IntelliJ IDEA. + User: NL + Date: 2017/1/23 + Time: 9:09 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + +

Hello World!

+

请访问/books测试

+ + diff --git a/Spring-Boot-Demo/.idea/compiler.xml b/Spring-Boot-Demo/.idea/compiler.xml deleted file mode 100644 index ce4b38c..0000000 --- a/Spring-Boot-Demo/.idea/compiler.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/copyright/profiles_settings.xml b/Spring-Boot-Demo/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/Spring-Boot-Demo/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/encodings.xml b/Spring-Boot-Demo/.idea/encodings.xml deleted file mode 100644 index c0bce70..0000000 --- a/Spring-Boot-Demo/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/inspectionProfiles/Project_Default.xml b/Spring-Boot-Demo/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 8c9b405..0000000 --- a/Spring-Boot-Demo/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/inspectionProfiles/profiles_settings.xml b/Spring-Boot-Demo/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 3b31283..0000000 --- a/Spring-Boot-Demo/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml b/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml deleted file mode 100644 index cdd7959..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml b/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml deleted file mode 100644 index 6c2a760..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml deleted file mode 100644 index 4a7f94b..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_druid_1_0_19.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml deleted file mode 100644 index 3888159..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_alibaba_fastjson_1_2_14.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_1.xml deleted file mode 100644 index cfcab12..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_classmate_1_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_1.xml deleted file mode 100644 index 1a718d6..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_1.xml deleted file mode 100644 index 89164c5..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_1.xml deleted file mode 100644 index 6307d67..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml deleted file mode 100644 index 01dedb4..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_3.xml b/Spring-Boot-Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_3.xml deleted file mode 100644 index cd0a66a..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml b/Spring-Boot-Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml deleted file mode 100644 index 940ce73..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__junit_junit_4_10.xml b/Spring-Boot-Demo/.idea/libraries/Maven__junit_junit_4_10.xml deleted file mode 100644 index ed8bf5f..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__junit_junit_4_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml b/Spring-Boot-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml deleted file mode 100644 index b984e59..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_34.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_2_2_21.xml b/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_2_2_21.xml deleted file mode 100644 index b777b97..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_2_2_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_8.xml b/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_8.xml deleted file mode 100644 index 3515cd5..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml deleted file mode 100644 index e41e7ba..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml b/Spring-Boot-Demo/.idea/libraries/Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml deleted file mode 100644 index 537b4b1..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__nz_net_ultraq_thymeleaf_thymeleaf_layout_dialect_1_4_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__ognl_ognl_3_0_8.xml b/Spring-Boot-Demo/.idea/libraries/Maven__ognl_ognl_3_0_8.xml deleted file mode 100644 index 1a94644..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__ognl_ognl_3_0_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_4.xml deleted file mode 100644 index 09827ab..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_4.xml deleted file mode 100644 index 588a181..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_4.xml deleted file mode 100644 index 9962a4b..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_4.xml deleted file mode 100644 index 637262e..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_jdbc_8_5_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_4.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_4.xml deleted file mode 100644 index 45edb2d..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_apache_tomcat_tomcat_juli_8_5_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_codehaus_groovy_groovy_2_4_7.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_codehaus_groovy_groovy_2_4_7.xml deleted file mode 100644 index 8c0eabe..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_codehaus_groovy_groovy_2_4_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml deleted file mode 100644 index f58bbc1..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml deleted file mode 100644 index 6c5e17f..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml deleted file mode 100644 index c21c9b0..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml deleted file mode 100644 index 186d87f..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_caches_mybatis_ehcache_1_0_3.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_caches_mybatis_ehcache_1_0_3.xml deleted file mode 100644 index 31ffbe4..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_caches_mybatis_ehcache_1_0_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml deleted file mode 100644 index 655ae2e..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml deleted file mode 100644 index bd108d5..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml deleted file mode 100644 index 218b48a..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml deleted file mode 100644 index 77694f1..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml deleted file mode 100644 index 2f93a63..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_21.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_21.xml deleted file mode 100644 index dd05efc..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml deleted file mode 100644 index 0f9744a..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml deleted file mode 100644 index 1b644dd..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_4_0_RELEASE.xml deleted file mode 100644 index a193527..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_0_RELEASE.xml deleted file mode 100644 index d24946a..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_4_0_RELEASE.xml deleted file mode 100644 index 07ae94e..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_4_0_RELEASE.xml deleted file mode 100644 index 59f1e83..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_4_0_RELEASE.xml deleted file mode 100644 index f965e34..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_4_0_RELEASE.xml deleted file mode 100644 index c275816..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_0_RELEASE.xml deleted file mode 100644 index 2f661ba..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_4_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_4_0_RELEASE.xml deleted file mode 100644 index e2e3a71..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_4_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml deleted file mode 100644 index 4508a6b..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml deleted file mode 100644 index d650bb8..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml deleted file mode 100644 index b497541..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml deleted file mode 100644 index aca549b..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml deleted file mode 100644 index e802cd8..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml deleted file mode 100644 index 7b6a300..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml deleted file mode 100644 index 0254b40..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml deleted file mode 100644 index 2b7b1d4..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml deleted file mode 100644 index e4b70bb..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_2_1_5_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_2_1_5_RELEASE.xml deleted file mode 100644 index 3905ea7..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_2_1_5_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_2_1_5_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_2_1_5_RELEASE.xml deleted file mode 100644 index 9cba1c2..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_2_1_5_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml deleted file mode 100644 index c05f04a..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_unbescape_unbescape_1_1_0_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml b/Spring-Boot-Demo/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml deleted file mode 100644 index 20e2920..0000000 --- a/Spring-Boot-Demo/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/misc.xml b/Spring-Boot-Demo/.idea/misc.xml deleted file mode 100644 index 8cd8b9b..0000000 --- a/Spring-Boot-Demo/.idea/misc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/modules.xml b/Spring-Boot-Demo/.idea/modules.xml deleted file mode 100644 index dff154d..0000000 --- a/Spring-Boot-Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/uiDesigner.xml b/Spring-Boot-Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/Spring-Boot-Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/.idea/workspace.xml b/Spring-Boot-Demo/.idea/workspace.xml deleted file mode 100644 index 71cce74..0000000 --- a/Spring-Boot-Demo/.idea/workspace.xml +++ /dev/null @@ -1,1523 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thymeleaf - - - - - ThymeleafVariablesResolveInspection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\牛李\AppData\Roaming\Subversion - - - - - 1470710399332 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Spring - - - - - - - - - - - - - - - 1.8 - - - - - - - - SpringBoot - - - - - - - - 1.8 - - - - - - - - Maven: ch.qos.logback:logback-classic:1.1.7 - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/SpringBoot.iml b/Spring-Boot-Demo/SpringBoot.iml deleted file mode 100644 index b428057..0000000 --- a/Spring-Boot-Demo/SpringBoot.iml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Spring-Boot-Demo/pom.xml b/Spring-Boot-Demo/pom.xml index 7f49224..04ef1ea 100644 --- a/Spring-Boot-Demo/pom.xml +++ b/Spring-Boot-Demo/pom.xml @@ -3,11 +3,11 @@ 4.0.0 cn.mrdear - mrdear + Spring-Boot-Demo 1.0-SNAPSHOT jar - mrdear + Spring-Boot-Demo http://maven.apache.org diff --git a/Spring-Boot-Demo/src/main/java/cn/mrdear/entity/DemoEntity.java b/Spring-Boot-Demo/src/main/java/cn/mrdear/entity/DemoEntity.java deleted file mode 100644 index 6a4711e..0000000 --- a/Spring-Boot-Demo/src/main/java/cn/mrdear/entity/DemoEntity.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.mrdear.entity; - -/** - * @author Niu Li - * @date 2016/8/9 - */ -public class DemoEntity { - private String id; - private String username; - private String password; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } -} diff --git a/Spring-Boot-Demo/src/main/resources/application.properties b/Spring-Boot-Demo/src/main/resources/application.properties index 884a55a..28aeafb 100644 --- a/Spring-Boot-Demo/src/main/resources/application.properties +++ b/Spring-Boot-Demo/src/main/resources/application.properties @@ -10,7 +10,7 @@ logging.level.cn.mrdear.mapper = trace #thymeleaf start spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 -spring.thymeleaf.content-type=text/html -#ʱرջ,Ȼûʵʱҳ +spring.thymeleaf.contents-type=text/html +#����ʱ�رջ���,��Ȼû������ʵʱҳ�� spring.thymeleaf.cache=false #thymeleaf end diff --git a/Spring-Boot-Demo/src/main/resources/templates/hello.html b/Spring-Boot-Demo/src/main/resources/templates/hello.html index 0da11da..b78e8a1 100644 --- a/Spring-Boot-Demo/src/main/resources/templates/hello.html +++ b/Spring-Boot-Demo/src/main/resources/templates/hello.html @@ -2,7 +2,7 @@ hello - + diff --git a/Spring-Cloud-Demo/Service-Discovery-Eureka/pom.xml b/Spring-Cloud-Demo/Service-Discovery-Eureka/pom.xml new file mode 100644 index 0000000..9d30f7b --- /dev/null +++ b/Spring-Cloud-Demo/Service-Discovery-Eureka/pom.xml @@ -0,0 +1,28 @@ + + + + cn.mrdear.springcloud + springcloud-parent + 1.0.0 + + 4.0.0 + service-discovery-eureka + + + + org.springframework.cloud + spring-cloud-starter-eureka-server + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/java/cn/mrdear/EurekaApplication.java b/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/java/cn/mrdear/EurekaApplication.java new file mode 100644 index 0000000..b60fdc0 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/java/cn/mrdear/EurekaApplication.java @@ -0,0 +1,17 @@ +package cn.mrdear; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +/** + * @author Niu Li + * @since 2017/5/25 + */ +@EnableEurekaServer//启动服务注册中心 +@SpringBootApplication +public class EurekaApplication { + public static void main(String[] args) { + SpringApplication.run(EurekaApplication.class,args); + } +} diff --git a/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/resources/application.yml b/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/resources/application.yml new file mode 100644 index 0000000..4bb275e --- /dev/null +++ b/Spring-Cloud-Demo/Service-Discovery-Eureka/src/main/resources/application.yml @@ -0,0 +1,19 @@ + +server: + port: 8761 + +spring: + application: + name: eureka-server + +eureka: + instance: + hostname: localhost + prefer-ip-address: true + client: + register-with-eureka: false + fetch-registry: false + service-url: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ + + diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/pom.xml b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/pom.xml new file mode 100644 index 0000000..7a1f4b0 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/pom.xml @@ -0,0 +1,25 @@ + + + + springcloud-parent + cn.mrdear.springcloud + 1.0.0 + + 4.0.0 + + cn.mrdear.springcloud + Service-Product-Consumer-Feign-Hystrix + + + + org.springframework.cloud + spring-cloud-starter-feign + + + org.springframework.cloud + spring-cloud-starter-eureka + + + \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/UserConsumeFeignHystrixApplication.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/UserConsumeFeignHystrixApplication.java new file mode 100644 index 0000000..e9f93d4 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/UserConsumeFeignHystrixApplication.java @@ -0,0 +1,19 @@ +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.feign.EnableFeignClients; + + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@SpringBootApplication(scanBasePackages = "cn.medear.springcloud") +@EnableDiscoveryClient +@EnableFeignClients(basePackages = "cn.medear.springcloud.restclient") +public class UserConsumeFeignHystrixApplication { + + public static void main(String[] args) { + SpringApplication.run(UserConsumeFeignHystrixApplication.class, args); + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java new file mode 100644 index 0000000..e53e366 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java @@ -0,0 +1,41 @@ +package cn.medear.springcloud.controller; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +import cn.medear.springcloud.entity.User; +import cn.medear.springcloud.restclient.UserClient; +import lombok.extern.slf4j.Slf4j; + +/** + * 用于消费UserService的类 + * @author Niu Li + * @since 2017/6/3 + */ +@RestController +@Slf4j +public class ConsumeUserController { + + @Resource + private UserClient userClient; + + private static final ObjectMapper objectMapper = new ObjectMapper(); + + @GetMapping("/{id}") + public String findUserById(@PathVariable Long id) { + User user = userClient.findById(id); + String valueAsString = null; + try { + valueAsString = objectMapper.writeValueAsString(user); + } catch (JsonProcessingException e) { + log.error("parse json error. {}",e); + } + return valueAsString; + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/entity/User.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/entity/User.java new file mode 100644 index 0000000..2dc8e22 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/entity/User.java @@ -0,0 +1,25 @@ +package cn.medear.springcloud.entity; + +import java.io.Serializable; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@Data +@NoArgsConstructor +@ToString +public class User implements Serializable{ + + private static final long serialVersionUID = -2885884654600114856L; + + private Long id; + + private String username; + + private String password; +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/UserClient.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/UserClient.java new file mode 100644 index 0000000..2d75906 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/UserClient.java @@ -0,0 +1,21 @@ +package cn.medear.springcloud.restclient; + +import org.springframework.cloud.netflix.feign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import cn.medear.springcloud.entity.User; +import cn.medear.springcloud.restclient.failback.UserClientFailBack; + +/** + * @author Niu Li + * @since 2017/6/4 + */ +@FeignClient(name = "service-user-provider",fallbackFactory = UserClientFailBack.class) +public interface UserClient { + + @RequestMapping(value = "/{id}",method = RequestMethod.GET) + User findById(@PathVariable("id") Long id); + +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/failback/UserClientFailBack.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/failback/UserClientFailBack.java new file mode 100644 index 0000000..4004042 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/java/cn/medear/springcloud/restclient/failback/UserClientFailBack.java @@ -0,0 +1,40 @@ +package cn.medear.springcloud.restclient.failback; + +import org.springframework.stereotype.Component; + +import cn.medear.springcloud.entity.User; +import cn.medear.springcloud.restclient.UserClient; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; + +/** + * 用户调用断路器 + * @author Niu Li + * @since 2017/6/4 + */ +@Slf4j +@Component +public class UserClientFailBack implements FallbackFactory{ + + private static UserClient userClient = new UserClientFailBackWithInfo(); + + /** + * 错误返回内容配置 + */ + @Override + public UserClient create(Throwable throwable) { + log.error("UserClient hystrix open,error is {}",throwable.getMessage()); + return userClient; + } + + + private static class UserClientFailBackWithInfo implements UserClient{ + @Override + public User findById(Long id) { + User user = new User(); + user.setId(0L); + user.setUsername("失败用户"); + return user; + } + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/resources/application.yml b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/resources/application.yml new file mode 100644 index 0000000..729bcbe --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign-Hystrix/src/main/resources/application.yml @@ -0,0 +1,24 @@ +server: + port: 8086 + +spring: + application: + name: service-product-consumer-fegin-hystrix + +eureka: + client: + service-url: + default-zone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true + +#开启断路器 +feign: + hystrix: + enabled: true + +# 负载均衡配置为随机,不配置默认轮询 +service-user-provider: + ribbon: + NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule + diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/pom.xml b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/pom.xml new file mode 100644 index 0000000..57785b7 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/pom.xml @@ -0,0 +1,30 @@ + + + + springcloud-parent + cn.mrdear.springcloud + 1.0.0 + + 4.0.0 + + cn.mrdear.springcloud + Service-Product-Consumer-Feign + + + + org.springframework.cloud + spring-cloud-starter-feign + + + io.github.openfeign + feign-httpclient + 9.5.0 + + + org.springframework.cloud + spring-cloud-starter-eureka + + + \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/UserConsumeFeignApplication.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/UserConsumeFeignApplication.java new file mode 100644 index 0000000..7ad8139 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/UserConsumeFeignApplication.java @@ -0,0 +1,46 @@ +import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; +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.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.feign.EnableFeignClients; +import org.springframework.context.annotation.Bean; + + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@SpringBootApplication(scanBasePackages = "cn.medear.springcloud.controller") +@EnableDiscoveryClient +@EnableFeignClients(basePackages = "cn.medear.springcloud.restclient") +public class UserConsumeFeignApplication { + + public static void main(String[] args) { + SpringApplication.run(UserConsumeFeignApplication.class, args); + } + + /** + * 自定义feign的Httpclient,其注入在HttpClientFeignLoadBalancedConfiguration中 + * @return + */ + @Bean + public HttpClient feignHttpClient() { + PoolingHttpClientConnectionManager HTTP_CLIENT_CONNECTION_MANAGER = + new PoolingHttpClientConnectionManager(RegistryBuilder.create().register("http", PlainConnectionSocketFactory.getSocketFactory()).register("https", SSLConnectionSocketFactory.getSocketFactory()).build()); + HTTP_CLIENT_CONNECTION_MANAGER.setDefaultMaxPerRoute(100); + HTTP_CLIENT_CONNECTION_MANAGER.setMaxTotal(200); + RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(60000).setConnectTimeout(60000).setSocketTimeout(60000).build(); + CloseableHttpClient httpClient = HttpClientBuilder.create() + .setConnectionManager(HTTP_CLIENT_CONNECTION_MANAGER) + .setDefaultRequestConfig(requestConfig).build(); + return httpClient; + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java new file mode 100644 index 0000000..e53e366 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/controller/ConsumeUserController.java @@ -0,0 +1,41 @@ +package cn.medear.springcloud.controller; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +import cn.medear.springcloud.entity.User; +import cn.medear.springcloud.restclient.UserClient; +import lombok.extern.slf4j.Slf4j; + +/** + * 用于消费UserService的类 + * @author Niu Li + * @since 2017/6/3 + */ +@RestController +@Slf4j +public class ConsumeUserController { + + @Resource + private UserClient userClient; + + private static final ObjectMapper objectMapper = new ObjectMapper(); + + @GetMapping("/{id}") + public String findUserById(@PathVariable Long id) { + User user = userClient.findById(id); + String valueAsString = null; + try { + valueAsString = objectMapper.writeValueAsString(user); + } catch (JsonProcessingException e) { + log.error("parse json error. {}",e); + } + return valueAsString; + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/entity/User.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/entity/User.java new file mode 100644 index 0000000..2dc8e22 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/entity/User.java @@ -0,0 +1,25 @@ +package cn.medear.springcloud.entity; + +import java.io.Serializable; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@Data +@NoArgsConstructor +@ToString +public class User implements Serializable{ + + private static final long serialVersionUID = -2885884654600114856L; + + private Long id; + + private String username; + + private String password; +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/restclient/UserClient.java b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/restclient/UserClient.java new file mode 100644 index 0000000..28606ea --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/java/cn/medear/springcloud/restclient/UserClient.java @@ -0,0 +1,20 @@ +package cn.medear.springcloud.restclient; + +import org.springframework.cloud.netflix.feign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import cn.medear.springcloud.entity.User; + +/** + * @author Niu Li + * @since 2017/6/4 + */ +@FeignClient("service-user-provider") +public interface UserClient { + + @RequestMapping(value = "/{id}",method = RequestMethod.GET) + User findById(@PathVariable("id") Long id); + +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/resources/application.yml b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/resources/application.yml new file mode 100644 index 0000000..a57867d --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Feign/src/main/resources/application.yml @@ -0,0 +1,23 @@ +server: + port: 8085 + +spring: + application: + name: service-product-consumer-fegin + +eureka: + client: + service-url: + default-zone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true + +feign: + httpclient: + enabled: true + +# 负载均衡配置为随机,不配置默认轮询 +service-user-provider: + ribbon: + NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule + diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/pom.xml b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/pom.xml new file mode 100644 index 0000000..5418098 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/pom.xml @@ -0,0 +1,22 @@ + + + + springcloud-parent + cn.mrdear.springcloud + 1.0.0 + + 4.0.0 + + cn.mrdear.springcloud + Service-Product-Consumer-Ribbon + + + + org.springframework.cloud + spring-cloud-starter-eureka + + + + \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/UserConsumeApplication.java b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/UserConsumeApplication.java new file mode 100644 index 0000000..5366289 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/UserConsumeApplication.java @@ -0,0 +1,19 @@ +package cn.mrdear.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class UserConsumeApplication { + + public static void main(String[] args) { + SpringApplication.run(UserConsumeApplication.class,args); + } + +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/config/BeanConfig.java b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/config/BeanConfig.java new file mode 100644 index 0000000..13e312c --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/config/BeanConfig.java @@ -0,0 +1,22 @@ +package cn.mrdear.springcloud.config; + +import org.springframework.cloud.client.loadbalancer.LoadBalanced; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@Configuration +//@RibbonClient(name = "user-resporitory",configuration = MyConfig.class) +//可以指定针对某服务器采取指定的配置负载均衡算法,配置文件中配置更加方便 +public class BeanConfig { + + @Bean + @LoadBalanced //开启客户端负载均衡,自动配置类在LoadBalancerAutoConfiguration中 + public RestTemplate restTemplate(){ + return new RestTemplate(); + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/controller/ConsumeUserController.java b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/controller/ConsumeUserController.java new file mode 100644 index 0000000..a839637 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/java/cn/mrdear/springcloud/controller/ConsumeUserController.java @@ -0,0 +1,25 @@ +package cn.mrdear.springcloud.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +import javax.annotation.Resource; + +/** + * 用于消费UserService的类 + * @author Niu Li + * @since 2017/6/3 + */ +@RestController +public class ConsumeUserController { + + @Resource + private RestTemplate restTemplate; + + @GetMapping("/{id}") + public String findUserById(@PathVariable Long id) { + return restTemplate.getForObject("http://service-user-provider/"+id,String.class); + } +} diff --git a/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/resources/application.yml b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/resources/application.yml new file mode 100644 index 0000000..efa8d13 --- /dev/null +++ b/Spring-Cloud-Demo/Service-Product-Consumer-Ribbon/src/main/resources/application.yml @@ -0,0 +1,18 @@ +server: + port: 8082 + +spring: + application: + name: service-product-consumer-ribbon + +eureka: + client: + service-url: + default-zone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true + +# 负载均衡配置为随机,不配置默认轮询 +service-user-provider: + ribbon: + NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule diff --git a/Spring-Cloud-Demo/Service-User-Provider/pom.xml b/Spring-Cloud-Demo/Service-User-Provider/pom.xml new file mode 100644 index 0000000..e1b37bb --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/pom.xml @@ -0,0 +1,47 @@ + + + + springcloud-parent + cn.mrdear.springcloud + 1.0.0 + + 4.0.0 + + cn.mrdear.springcloud + Service-User-Provider + + + + + com.h2database + h2 + runtime + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.cloud + spring-cloud-starter-eureka + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/UserApplication.java b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/UserApplication.java new file mode 100644 index 0000000..acfdfec --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/UserApplication.java @@ -0,0 +1,19 @@ +package cn.mrdear; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author Niu Li + * @since 2017/5/25 + */ +@EnableDiscoveryClient +@SpringBootApplication +public class UserApplication { + + public static void main(String[] args) { + SpringApplication.run(UserApplication.class,args); + } + +} diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/controller/UserController.java b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/controller/UserController.java new file mode 100644 index 0000000..4135af0 --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/controller/UserController.java @@ -0,0 +1,61 @@ +package cn.mrdear.controller; + + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import javax.annotation.Resource; + +import cn.mrdear.entity.User; +import cn.mrdear.resporitory.UserResporitory; + +/** + * @author Niu Li + * @since 2017/5/25 + */ +@RestController +public class UserController { + + @Value("${spring.application.name}") + private String serverName; + + @Resource + private UserResporitory userResporitory; + + @Resource + private DiscoveryClient discoveryClient; + + @RequestMapping(value = "/add" ,method = RequestMethod.GET) + public User add(String username,String password) { + User user = new User(); + user.setUsername(username); + user.setPassword(password); + userResporitory.saveAndFlush(user); + return user; + } + + @GetMapping("/{id}") + public User find(@PathVariable Long id) { + return userResporitory.findOne(id); + } + + @GetMapping("/list") + public List findAll(){ + return userResporitory.findAll(); + } + + @GetMapping("/console") + public List console(){ + List instances = discoveryClient.getInstances(serverName); + return instances; + } + +} diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/entity/User.java b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/entity/User.java new file mode 100644 index 0000000..fb3e22c --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/entity/User.java @@ -0,0 +1,32 @@ +package cn.mrdear.entity; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@Data +@NoArgsConstructor +@ToString +@Entity +public class User implements Serializable{ + + private static final long serialVersionUID = -2885884654600114856L; + + @Id + @GeneratedValue + private Long id; + + private String username; + + private String password; +} diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/resporitory/UserResporitory.java b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/resporitory/UserResporitory.java new file mode 100644 index 0000000..36ec6bd --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/java/cn/mrdear/resporitory/UserResporitory.java @@ -0,0 +1,15 @@ +package cn.mrdear.resporitory; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import cn.mrdear.entity.User; + +/** + * @author Niu Li + * @since 2017/6/3 + */ +@Repository +public interface UserResporitory extends JpaRepository{ + +} diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/application.yml b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/application.yml new file mode 100644 index 0000000..dec0aa8 --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/application.yml @@ -0,0 +1,20 @@ +server: + port: 8083 +spring: + application: + name: service-user-provider + jpa: + generate-ddl: false + show-sql: true + hibernate: + ddl-auto: none + datasource: + platform: h2 + schema: classpath:database/schema.sql + data: classpath:database/data.sql +eureka: + client: + service-url: + default-zone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/data.sql b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/data.sql new file mode 100644 index 0000000..8d203ef --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/data.sql @@ -0,0 +1,3 @@ +INSERT INTO user(username,password) VALUES ('张三','111111'); +INSERT INTO user(username,password) VALUES ('李四','111111'); +INSERT INTO user(username,password) VALUES ('王二','111111'); \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/schema.sql b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/schema.sql new file mode 100644 index 0000000..737b628 --- /dev/null +++ b/Spring-Cloud-Demo/Service-User-Provider/src/main/resources/database/schema.sql @@ -0,0 +1,6 @@ +drop table user if exists; +create table user ( + id INT(11) AUTO_INCREMENT PRIMARY KEY , + username VARCHAR(255), + password VARCHAR(255) + ); \ No newline at end of file diff --git a/Spring-Cloud-Demo/Service-User-Provider/target/classes/cn/mrdear/Application.class b/Spring-Cloud-Demo/Service-User-Provider/target/classes/cn/mrdear/Application.class new file mode 100644 index 0000000..0625b42 Binary files /dev/null and b/Spring-Cloud-Demo/Service-User-Provider/target/classes/cn/mrdear/Application.class differ diff --git a/Spring-Cloud-Demo/pom.xml b/Spring-Cloud-Demo/pom.xml new file mode 100644 index 0000000..9b0ac77 --- /dev/null +++ b/Spring-Cloud-Demo/pom.xml @@ -0,0 +1,74 @@ + + + 4.0.0 + + cn.mrdear.springcloud + springcloud-parent + pom + 1.0.0 + + + Service-Discovery-Eureka + Service-User-Provider + Service-Product-Consumer-Ribbon + Service-Product-Consumer-Feign + Service-Product-Consumer-Feign-Hystrix + + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.2.RELEASE + + + + Dalston.SR1 + + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.projectlombok + lombok + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/Spring-Data-Redis/pom.xml b/Spring-Data-Redis/pom.xml new file mode 100644 index 0000000..ff7aa0f --- /dev/null +++ b/Spring-Data-Redis/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + cn.mrdear + Spring-Data-Redis + 1.0.0 + Spring-Data-Redis + + + org.springframework.boot + spring-boot-starter-parent + 1.5.2.RELEASE + + + + UTF-8 + 1.8 + + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + + io.springfox + springfox-swagger-ui + 2.6.1 + + + io.springfox + springfox-swagger2 + 2.6.1 + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/Application.java b/Spring-Data-Redis/src/main/java/cn/mrdear/Application.java new file mode 100644 index 0000000..be24911 --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/Application.java @@ -0,0 +1,17 @@ +package cn.mrdear; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author Niu Li + * @since 2017/3/28 + */ +@SpringBootApplication +public class Application { + public static void main( String[] args ) + { + SpringApplication.run(Application.class, args); + } + +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/conf/SwaggerConfig.java b/Spring-Data-Redis/src/main/java/cn/mrdear/conf/SwaggerConfig.java new file mode 100644 index 0000000..e7f7c12 --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/conf/SwaggerConfig.java @@ -0,0 +1,59 @@ +package cn.mrdear.conf; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.context.request.async.DeferredResult; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * @author Niu Li + * @since 2017/3/30 + */ +@Configuration +@EnableSwagger2 +public class SwaggerConfig extends WebMvcConfigurerAdapter { + + /** + * 使用enableMVC注解的话,该配置必须,否则无法映射资源 + */ + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("swagger-ui.html") + .addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/"); + + } + + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .groupName("api") + .genericModelSubstitutes(DeferredResult.class) + .useDefaultResponseMessages(false) + .forCodeGeneration(true) + .pathMapping("/") + .select() + .build() + .apiInfo(apiInfo()); + } + + private ApiInfo apiInfo() { + Contact contact = new Contact("屈定","http://mrdear.cn","niudear@foxmail.com"); + return new ApiInfoBuilder() + .title("Spring Data Redis") + .description("Spring Data Redis学习记录") + .termsOfServiceUrl("http://mrdear.cn") + .contact(contact) + .version("1.0") + .build(); + } +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/controller/UserController.java b/Spring-Data-Redis/src/main/java/cn/mrdear/controller/UserController.java new file mode 100644 index 0000000..6eda395 --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/controller/UserController.java @@ -0,0 +1,63 @@ +package cn.mrdear.controller; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +import javax.annotation.Resource; + +import cn.mrdear.dao.UserDao; +import cn.mrdear.model.User; +import cn.mrdear.util.MockUserUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; + +/** + * @author Niu Li + * @since 2017/3/30 + */ +@Api(description = "提供增删改查,swagger示例",tags = "API-UserController") +@RestController +@RequestMapping(value = "/api/v1") +public class UserController { + @Resource + private UserDao userDao; + + @ApiOperation(value = "查询全部用户",httpMethod = "GET") + @ApiResponse(code = 200,message = "Success") + @RequestMapping(value = "/users",method = RequestMethod.GET) + public List getAllUsers(){ + return userDao.query(); + } + + @ApiOperation(value = "查询单个用户",notes = "根据传入id查找用户",httpMethod = "GET") + @ApiResponse(code = 200,message = "Success") + @RequestMapping(value = "/user/{id}",method = RequestMethod.GET) + public User getUser(@PathVariable("id") Integer id){ + return userDao.find(id); + } + + @ApiOperation(value = "批量插入用户",notes = "根据传入参数增加用户",httpMethod = "POST") + @ApiResponse(code = 200,message = "Success") + @RequestMapping(value = "/user",method = RequestMethod.POST) + public List InsertUser(Integer nums){ + if (Objects.isNull(nums)){ + nums = 10; + } + List users = new ArrayList<>(); + for (Integer i = 0; i < nums; i++) { + User user = MockUserUtil.mockSignle(); + userDao.save(user); + users.add(user); + } + return users; + } + + +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/dao/UserDao.java b/Spring-Data-Redis/src/main/java/cn/mrdear/dao/UserDao.java new file mode 100644 index 0000000..35b01e8 --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/dao/UserDao.java @@ -0,0 +1,84 @@ +package cn.mrdear.dao; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Repository; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +import javax.annotation.Resource; + +import cn.mrdear.model.User; + +/** + * redis操作示例 + * + * @author Niu Li + * @since 2017/3/30 + */ +@Repository +public class UserDao { + private static Logger logger = LoggerFactory.getLogger(UserDao.class); + @Resource + private StringRedisTemplate stringRedisTemplate; + + private static final String KEY_PREFIX = "users"; + + private ObjectMapper objectMapper = new ObjectMapper(); + + /** + * 保存一个用户 + */ + public void save(User user) { + HashOperations opsForHash = stringRedisTemplate.opsForHash(); + try { + opsForHash.put(KEY_PREFIX, user.getId() + "", objectMapper.writeValueAsString(user)); + } catch (JsonProcessingException e) { + logger.error("save user error,user id is ", user.getId()); + } + } + + /** + * 插入一个用户 + * @param id 用户id + * @return 用户 + */ + public User find(Integer id) { + try { + HashOperations opsForHash = stringRedisTemplate.opsForHash(); + String userJson = opsForHash.get(KEY_PREFIX, id.toString()); + if (Objects.isNull(userJson)){ + return null; + } + return objectMapper.readValue(userJson, User.class); + } catch (IOException e) { + logger.error("find user error id is {}",id); + } + return null; + } + + /** + * 查询全部用户 + */ + public List query(){ + HashOperations opsForHash = stringRedisTemplate.opsForHash(); + List usersJson = opsForHash.values(KEY_PREFIX); + List users = new ArrayList<>(usersJson.size()); + usersJson.forEach(x -> { + try { + users.add(objectMapper.readValue(x,User.class)); + } catch (IOException e) { + logger.error("read user error id is {}",x); + } + }); + return users; + } +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/model/User.java b/Spring-Data-Redis/src/main/java/cn/mrdear/model/User.java new file mode 100644 index 0000000..f9047ed --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/model/User.java @@ -0,0 +1,36 @@ +package cn.mrdear.model; + +/** + * 测试用户 + * @author Niu Li + * @since 2017/3/30 + */ +public class User { + private Long id; + private String username; + private String password; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/publish/Listen.java b/Spring-Data-Redis/src/main/java/cn/mrdear/publish/Listen.java new file mode 100644 index 0000000..841fdc1 --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/publish/Listen.java @@ -0,0 +1,29 @@ +package cn.mrdear.publish; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.concurrent.CountDownLatch; + +/** + * 消息订阅者 + * @author Niu Li + * @since 2017/3/29 + */ +@Component +public class Listen { + + private static Logger logger = LoggerFactory.getLogger(Listen.class); + + private CountDownLatch latch = new CountDownLatch(1); + + public void handleMsg(String message) { + logger.info("reciver msg :" + message); + latch.countDown(); + } + + public CountDownLatch getLatch() { + return latch; + } +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/publish/PublishConfig.java b/Spring-Data-Redis/src/main/java/cn/mrdear/publish/PublishConfig.java new file mode 100644 index 0000000..51bdc5e --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/publish/PublishConfig.java @@ -0,0 +1,37 @@ +package cn.mrdear.publish; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.listener.PatternTopic; +import org.springframework.data.redis.listener.RedisMessageListenerContainer; +import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; + +/** + * @author Niu Li + * @since 2017/3/29 + */ +@Configuration +public class PublishConfig { + /** + * 注入消息容器 + * @param jedisConnectionFactory jedis连接池 + * @param listenerAdapter 监听适配器 + * @return bean + */ + @Bean + public RedisMessageListenerContainer container(RedisConnectionFactory jedisConnectionFactory, + MessageListenerAdapter listenerAdapter){ + RedisMessageListenerContainer container = new RedisMessageListenerContainer(); + container.setConnectionFactory(jedisConnectionFactory); + //绑定监听者与信道的管理 + container.addMessageListener(listenerAdapter,new PatternTopic("java")); + return container; + } + + @Bean + public MessageListenerAdapter adapter(Listen listen){ + //指定监听者和监听方法 + return new MessageListenerAdapter(listen,"handleMsg"); + } +} diff --git a/Spring-Data-Redis/src/main/java/cn/mrdear/util/MockUserUtil.java b/Spring-Data-Redis/src/main/java/cn/mrdear/util/MockUserUtil.java new file mode 100644 index 0000000..23110ed --- /dev/null +++ b/Spring-Data-Redis/src/main/java/cn/mrdear/util/MockUserUtil.java @@ -0,0 +1,49 @@ +package cn.mrdear.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.UUID; + +import cn.mrdear.model.User; + +/** + * mock虚拟用户 + * @author Niu Li + * @since 2017/3/30 + */ +public class MockUserUtil { + + //mock数据来源 + private static String[] namePrefix = {"赵","钱","孙","李","周","吴","郑","王"}; + private static String[] nameSuffix = {"一","二","三","四","五","六","七","八"}; + + private static Random random = new Random(); + + /** + * mock用户 + * @return 用户实体 + */ + public static User mockSignle(){ + User user = new User(); + int x = random.nextInt(namePrefix.length); + String userName = namePrefix[x]+nameSuffix[x]; + user.setId((long) x); + user.setUsername(userName); + user.setPassword(UUID.randomUUID().toString()); + return user; + } + + /** + * mock集合 + * @param num 集合数量 + * @return 集合 + */ + public static List mockList(int num){ + List users = new ArrayList<>(); + for (int i = 0; i < num; i++) { + users.add(mockSignle()); + } + return users; + } +} diff --git a/Spring-Data-Redis/src/main/resources/application.properties b/Spring-Data-Redis/src/main/resources/application.properties new file mode 100644 index 0000000..3fb5d36 --- /dev/null +++ b/Spring-Data-Redis/src/main/resources/application.properties @@ -0,0 +1,24 @@ +#logger start +logging.path = logs/loging.log +logging.level.cn.mrdear = debug +#logger end + +# spring date redis start +# Redis数据库索引(默认为0) +spring.redis.database=0 +# Redis服务器地址 +spring.redis.host=115.159.185.14 +# Redis服务器连接端口 +spring.redis.port=6379 +# Redis服务器连接密码(默认为空) +spring.redis.password= +# 连接池最大连接数(使用负值表示没有限制) +spring.redis.pool.max-active=8 +# 连接池最大阻塞等待时间(使用负值表示没有限制) +spring.redis.pool.max-wait=-1 +# 连接池中的最大空闲连接 +spring.redis.pool.max-idle=8 +# 连接池中的最小空闲连接 +spring.redis.pool.min-idle=0 +# 连接超时时间(毫秒) +spring.redis.timeout=2000 diff --git a/Spring-Data-Redis/src/test/java/cn/mrdear/test/RedisConnectTest.java b/Spring-Data-Redis/src/test/java/cn/mrdear/test/RedisConnectTest.java new file mode 100644 index 0000000..131413d --- /dev/null +++ b/Spring-Data-Redis/src/test/java/cn/mrdear/test/RedisConnectTest.java @@ -0,0 +1,86 @@ +package cn.mrdear.test; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.dao.DataAccessException; +import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.connection.StringRedisConnection; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisOperations; +import org.springframework.data.redis.core.SessionCallback; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.List; + +import javax.annotation.Resource; + +import cn.mrdear.Application; +import cn.mrdear.publish.Listen; + +/** + * @author Niu Li + * @since 2017/3/28 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(classes = Application.class) +public class RedisConnectTest { + @Resource + private StringRedisTemplate stringRedisTemplate; + @Resource + private Listen listen; + @Test + public void testSetAndGet() { + stringRedisTemplate.opsForValue().set("ping","pong"); + System.out.println(stringRedisTemplate.opsForValue().get("ping")); + } + + @Test + public void testPublish() throws InterruptedException { + stringRedisTemplate.convertAndSend("java","hello world"); + listen.getLatch().await(); + } + + @Test + public void testMulti() { + boolean isThrow = false; + List result = null; + try { + result = stringRedisTemplate.execute(new SessionCallback>() { + @Override + public List execute(RedisOperations operations) throws + DataAccessException { + operations.multi(); + ValueOperations ops = operations.opsForValue(); + ops.set("ping1","pong1"); + ops.set("ping2","pong2"); + if (isThrow){ + throw new IllegalArgumentException("测试异常"); + } + return operations.exec(); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + + System.out.println(result); + } + + @Test + public void testPipe() { +//pop a specified number of items from a queue + List results = stringRedisTemplate.executePipelined( + new RedisCallback() { + public Object doInRedis(RedisConnection connection) throws DataAccessException { + StringRedisConnection stringRedisConn = (StringRedisConnection)connection; + for(int i=0; i< 10; i++) { + stringRedisConn.rPush("myqueue",i+""); + } + return null; + } + }); + } +} diff --git a/Spring-Security-Demo/pom.xml b/Spring-Security-Demo/pom.xml new file mode 100644 index 0000000..034f981 --- /dev/null +++ b/Spring-Security-Demo/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + cn.mrdear.security + Spring-Security-Demo + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 1.5.4.RELEASE + + + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + + io.jsonwebtoken + jjwt + 0.7.0 + + + org.projectlombok + lombok + + + org.apache.commons + commons-lang3 + 3.5 + + + com.google.guava + guava + 21.0 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + \ No newline at end of file diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/Application.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/Application.java new file mode 100644 index 0000000..a8425d5 --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/Application.java @@ -0,0 +1,17 @@ +package cn.mrdear.security; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author Niu Li + * @since 2017/6/16 + */ +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CommonBeanConfig.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CommonBeanConfig.java new file mode 100644 index 0000000..bc1958e --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CommonBeanConfig.java @@ -0,0 +1,23 @@ +package cn.mrdear.security.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import cn.mrdear.security.util.JwtTokenUtil; + +/** + * 配置一些线程安全的工具类 + * @author Niu Li + * @since 2017/6/28 + */ +@Configuration +public class CommonBeanConfig { + + /** + * 配置jwt token + */ + @Bean + public JwtTokenUtil configToken() { + return new JwtTokenUtil(); + } +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CorsFilter.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CorsFilter.java new file mode 100644 index 0000000..2babd09 --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/CorsFilter.java @@ -0,0 +1,40 @@ +package cn.mrdear.security.config; + +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import java.io.IOException; + + +public class CorsFilter implements javax.servlet.Filter { + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + System.err.println("CorsFilter"); + HttpServletResponse res = (HttpServletResponse) response; + HttpServletRequest req = (HttpServletRequest) request; + + res.setHeader("Access-Control-Allow-Origin", "*"); + res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS"); + res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding, Accept-Language, Host, Referer, Connection, User-Agent, authorization, sw-useragent, sw-version"); + + // Just REPLY OK if request method is OPTIONS for CORS (pre-flight) + if (req.getMethod().equals("OPTIONS")) { + res.setStatus(HttpServletResponse.SC_OK); + return; + } + chain.doFilter(request, response); + } + + @Override + public void destroy() { + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/SecurityConfig.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/SecurityConfig.java new file mode 100644 index 0000000..0c7f13a --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/SecurityConfig.java @@ -0,0 +1,64 @@ +package cn.mrdear.security.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.builders.WebSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.web.access.channel.ChannelProcessingFilter; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.context.NullSecurityContextRepository; + +import cn.mrdear.security.util.JwtTokenUtil; + +import javax.annotation.Resource; + +/** + * Spring Security配置类 + * @author Niu Li + * @since 2017/6/16 + */ +@Configuration +@EnableWebSecurity +public class SecurityConfig extends WebSecurityConfigurerAdapter { + + @Resource + private JwtTokenUtil jwtTokenUtil; + + /** + * 在此配置不过滤的请求 + */ + @Override + public void configure(WebSecurity web) throws Exception { + //每一个请求对应一个空的filter链,这里一般不要配置过多, + // 因为查找处是一个for循环,过多就导致每个请求都需要循环一遍直到找到 + web.ignoring().antMatchers("/","/login","/favicon.ico"); + } + + /** + * 在此配置过滤链 + */ + @Override + protected void configure(HttpSecurity http) throws Exception { + http + .authorizeRequests() + //角色定义,Spring Security会在其前面自动加上ROLE_,因此存储权限的时候也要加上ROLE_ADMIN + .antMatchers("/detail").access("hasRole('ADMIN')") + .anyRequest().permitAll().and() + //异常处理,可以再此使用entrypoint来定义错误输出 + .exceptionHandling().and() + //不需要session来控制,所以这里可以去掉 + .securityContext().securityContextRepository(new NullSecurityContextRepository()).and() + //开启匿名访问 + .anonymous().and() + //退出登录自己来控制 + .logout().disable() + //因为没用到cookies,所以关闭cookies + .csrf().disable() + //允许跨域 + .addFilterBefore(new CorsFilter(), ChannelProcessingFilter.class) + //验证token + .addFilterBefore(new VerifyTokenFilter(jwtTokenUtil), + UsernamePasswordAuthenticationFilter.class); + } +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/VerifyTokenFilter.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/VerifyTokenFilter.java new file mode 100644 index 0000000..2054617 --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/config/VerifyTokenFilter.java @@ -0,0 +1,46 @@ +package cn.mrdear.security.config; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.filter.OncePerRequestFilter; + +import cn.mrdear.security.util.JwtTokenUtil; +import io.jsonwebtoken.JwtException; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import java.io.IOException; +import java.util.Optional; + +/** + * jwt token验证类,验证成功后设置进去SecurityContext中 + * @author Niu Li + * @since 2017/6/28 + */ +@Slf4j +public class VerifyTokenFilter extends OncePerRequestFilter { + + private JwtTokenUtil jwtTokenUtil; + + public VerifyTokenFilter(JwtTokenUtil jwtTokenUtil) { + this.jwtTokenUtil = jwtTokenUtil; + } + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + try { + Optional authentication = jwtTokenUtil.verifyToken(request); + log.debug("VerifyTokenFilter result: {}",authentication.orElse(null)); + SecurityContextHolder.getContext().setAuthentication(authentication.orElse(null)); + filterChain.doFilter(request,response); + } catch (JwtException e) { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + //可以在这里指定重定向还是返回错误接口示例 + } + } +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/controller/LoginCntroller.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/controller/LoginCntroller.java new file mode 100644 index 0000000..488fc57 --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/controller/LoginCntroller.java @@ -0,0 +1,65 @@ +package cn.mrdear.security.controller; + +import com.google.common.collect.Lists; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import cn.mrdear.security.dto.TokenUserDTO; +import cn.mrdear.security.util.JwtTokenUtil; + +import javax.annotation.Resource; + +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * @author Niu Li + * @since 2017/6/19 + */ +@RestController +public class LoginCntroller { + + @Resource + private JwtTokenUtil jwtTokenUtil; + + /** + * 该链接获取token + */ + @GetMapping("/login") + public Map login(String username, String password) { + Map map = new HashMap<>(); + if (!StringUtils.equals(username, "demo") || !StringUtils.equals(password, "demo")) { + map.put("status", 4); + map.put("msg", "登录失败,用户名密码错误"); + return map; + } + TokenUserDTO userDTO = new TokenUserDTO(); + userDTO.setUsername(username); + userDTO.setRoles(Lists.newArrayList("ROLE_ADMIN")); + userDTO.setId(1L); + userDTO.setEmail("1015315668@qq.com"); + userDTO.setAvatar("ahahhahahhaha"); + map.put("status", 1); + map.put("msg", "Success"); + map.put("token", jwtTokenUtil.create(userDTO)); + return map; + } + + /** + * 该链接尝试获取登录用户,返回该认证用户的信息,请求该链接需要在header中放入x-authorization: token + */ + @GetMapping("/detail") + public TokenUserDTO userDetail() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (Objects.isNull(authentication)) { + return null; + } + return (TokenUserDTO) authentication.getDetails(); + } + +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserAuthentication.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserAuthentication.java new file mode 100644 index 0000000..188acfc --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserAuthentication.java @@ -0,0 +1,63 @@ +package cn.mrdear.security.dto; + +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; + +import java.util.Collection; +import java.util.stream.Collectors; + +/** + * Spring Security中存放的认证用户 + * @author Niu Li + * @since 2017/6/28 + */ +public class TokenUserAuthentication implements Authentication { + + private static final long serialVersionUID = 3730332217518791533L; + + private TokenUserDTO userDTO; + + private Boolean authentication = false; + + public TokenUserAuthentication(TokenUserDTO userDTO, Boolean authentication) { + this.userDTO = userDTO; + this.authentication = authentication; + } + + @Override + public Collection getAuthorities() { + return userDTO.getRoles().stream() + .map(SimpleGrantedAuthority::new).collect(Collectors.toList()); + } + + @Override + public Object getCredentials() { + return ""; + } + + @Override + public Object getDetails() { + return userDTO; + } + + @Override + public Object getPrincipal() { + return userDTO.getUsername(); + } + + @Override + public boolean isAuthenticated() { + return authentication; + } + + @Override + public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { + this.authentication = isAuthenticated; + } + + @Override + public String getName() { + return userDTO.getUsername(); + } +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserDTO.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserDTO.java new file mode 100644 index 0000000..a7abda4 --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/dto/TokenUserDTO.java @@ -0,0 +1,23 @@ +package cn.mrdear.security.dto; + +import lombok.Data; + +import java.util.List; + +/** + * @author Niu Li + * @since 2017/6/28 + */ +@Data +public class TokenUserDTO { + + private Long id; + + private String username; + + private String email; + + private String avatar; + + private List roles; +} diff --git a/Spring-Security-Demo/src/main/java/cn/mrdear/security/util/JwtTokenUtil.java b/Spring-Security-Demo/src/main/java/cn/mrdear/security/util/JwtTokenUtil.java new file mode 100644 index 0000000..91fcecc --- /dev/null +++ b/Spring-Security-Demo/src/main/java/cn/mrdear/security/util/JwtTokenUtil.java @@ -0,0 +1,91 @@ +package cn.mrdear.security.util; + +import org.apache.commons.lang3.math.NumberUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.Authentication; + +import cn.mrdear.security.dto.TokenUserAuthentication; +import cn.mrdear.security.dto.TokenUserDTO; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +import javax.servlet.http.HttpServletRequest; + +import java.util.Date; +import java.util.List; +import java.util.Optional; + +/** + * jwt token + * + * @author Niu Li + * @since 2017/6/28 + */ +public class JwtTokenUtil { + /** + * token过期时间 + */ + private static final long VALIDITY_TIME_MS = 24 * 60 * 60 * 1000; // 24 hours validity + /** + * header中标识 + */ + private static final String AUTH_HEADER_NAME = "x-authorization"; + + /** + * 签名密钥 + */ + @Value("${jwt.token.secret}") + private String secret; + + /** + * 验签 + */ + public Optional verifyToken(HttpServletRequest request) { + final String token = request.getHeader(AUTH_HEADER_NAME); + if (token != null && !token.isEmpty()){ + final TokenUserDTO user = parse(token.trim()); + if (user != null) { + return Optional.of(new TokenUserAuthentication(user, true)); + } + } + return Optional.empty(); + } + + + /** + * 从用户中创建一个jwt Token + * + * @param userDTO 用户 + * @return token + */ + public String create(TokenUserDTO userDTO) { + return Jwts.builder() + .setExpiration(new Date(System.currentTimeMillis() + VALIDITY_TIME_MS)) + .setSubject(userDTO.getUsername()) + .claim("id", userDTO.getId()) + .claim("avatar", userDTO.getAvatar()) + .claim("email", userDTO.getEmail()) + .claim("roles", userDTO.getRoles()) + .signWith(SignatureAlgorithm.HS256, secret) + .compact(); + } + + /** + * 从token中取出用户 + */ + public TokenUserDTO parse(String token) { + Claims claims = Jwts.parser() + .setSigningKey(secret) + .parseClaimsJws(token) + .getBody(); + TokenUserDTO userDTO = new TokenUserDTO(); + userDTO.setId(NumberUtils.toLong(claims.getId())); + userDTO.setAvatar(claims.get("avatar",String.class)); + userDTO.setUsername(claims.get("username",String.class)); + userDTO.setEmail(claims.get("email",String.class)); + userDTO.setRoles((List) claims.get("roles")); + return userDTO; + } + +} diff --git a/Spring-Security-Demo/src/main/resources/application.properties b/Spring-Security-Demo/src/main/resources/application.properties new file mode 100644 index 0000000..07419b0 --- /dev/null +++ b/Spring-Security-Demo/src/main/resources/application.properties @@ -0,0 +1,8 @@ +server.port=8080 + +logging.level.root=info +logging.level.org.springframework.security=debug + + +# jwt token签名密钥 +jwt.token.secret=quding2017 \ No newline at end of file diff --git a/Util-Demo/.idea/compiler.xml b/Util-Demo/.idea/compiler.xml deleted file mode 100644 index da77190..0000000 --- a/Util-Demo/.idea/compiler.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/deployment.xml b/Util-Demo/.idea/deployment.xml deleted file mode 100644 index 25a0408..0000000 --- a/Util-Demo/.idea/deployment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/encodings.xml b/Util-Demo/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/Util-Demo/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml b/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml deleted file mode 100644 index a8b0d9c..0000000 --- a/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml b/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml deleted file mode 100644 index 1c76d0b..0000000 --- a/Util-Demo/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml deleted file mode 100644 index 27424a1..0000000 --- a/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml b/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml deleted file mode 100644 index a66d039..0000000 --- a/Util-Demo/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/Util-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/Util-Demo/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml b/Util-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml deleted file mode 100644 index 14681ee..0000000 --- a/Util-Demo/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__junit_junit_4_12.xml b/Util-Demo/.idea/libraries/Maven__junit_junit_4_12.xml deleted file mode 100644 index d411041..0000000 --- a/Util-Demo/.idea/libraries/Maven__junit_junit_4_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_3.xml b/Util-Demo/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_3.xml deleted file mode 100644 index d478f56..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml b/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml deleted file mode 100644 index fdb7ead..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml b/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml deleted file mode 100644 index 3a5aa19..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_52.xml b/Util-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_52.xml deleted file mode 100644 index 4b942f1..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_52.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/Util-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml deleted file mode 100644 index f58bbc1..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_2.xml b/Util-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_2.xml deleted file mode 100644 index 4b7cc61..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_2.xml b/Util-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_2.xml deleted file mode 100644 index 7d29533..0000000 --- a/Util-Demo/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__redis_clients_jedis_2_8_0.xml b/Util-Demo/.idea/libraries/Maven__redis_clients_jedis_2_8_0.xml deleted file mode 100644 index 213d5c0..0000000 --- a/Util-Demo/.idea/libraries/Maven__redis_clients_jedis_2_8_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml b/Util-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml deleted file mode 100644 index c36e717..0000000 --- a/Util-Demo/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/misc.xml b/Util-Demo/.idea/misc.xml deleted file mode 100644 index 3be9714..0000000 --- a/Util-Demo/.idea/misc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - C:\Users\NL\AppData\Roaming\Subversion - - \ No newline at end of file diff --git a/Util-Demo/.idea/modules.xml b/Util-Demo/.idea/modules.xml deleted file mode 100644 index 7a547cd..0000000 --- a/Util-Demo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/uiDesigner.xml b/Util-Demo/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/Util-Demo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/.idea/workspace.xml b/Util-Demo/.idea/workspace.xml deleted file mode 100644 index 958b80d..0000000 --- a/Util-Demo/.idea/workspace.xml +++ /dev/null @@ -1,1442 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Security - PROVIDER - - - Digest - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1481414104021 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No facets are configured - - - - - - - - app - - - - - - - - 1.8 - - - - - - - - Util-Demo - - - - - - - - 1.8 - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/Util-Demo.iml b/Util-Demo/Util-Demo.iml deleted file mode 100644 index bfe973d..0000000 --- a/Util-Demo/Util-Demo.iml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Util-Demo/pom.xml b/Util-Demo/pom.xml index c957b8a..f9f6606 100644 --- a/Util-Demo/pom.xml +++ b/Util-Demo/pom.xml @@ -5,10 +5,17 @@ 4.0.0 cn.mrdear.util - util + Util-Demo 1.0-SNAPSHOT + + + org.apache.commons + commons-lang3 + 3.4 + + org.bouncycastle @@ -33,7 +40,11 @@ httpclient 4.5.2 - + + javax.servlet + javax.servlet-api + 3.1.0 + redis.clients @@ -69,6 +80,7 @@ logback-classic 1.1.2 + diff --git a/Util-Demo/src/main/java/cn/mrdear/util/dateutil/DateUtil.java b/Util-Demo/src/main/java/cn/mrdear/util/dateutil/DateUtil.java index dc30ba7..c4c8b6c 100644 --- a/Util-Demo/src/main/java/cn/mrdear/util/dateutil/DateUtil.java +++ b/Util-Demo/src/main/java/cn/mrdear/util/dateutil/DateUtil.java @@ -94,11 +94,20 @@ public static Date parse(String str, String sdf) { Date date = null; try { - date = getSdf(sdf).parse(str); + date = parseCanThrow(str, sdf); } catch (ParseException e) { e.printStackTrace(); } return date; } + /** + * 把字符串按照指定格式转换,需要主动抛异常情况下使用 + * @param str 时间串 + * @param sdf 给定转换格式 + * @return 转换后的时间 + */ + public static Date parseCanThrow(String str, String sdf) throws ParseException { + return getSdf(sdf).parse(str); + } } diff --git a/Util-Demo/src/main/java/cn/mrdear/util/httpUtil/WebUtils.java b/Util-Demo/src/main/java/cn/mrdear/util/httpUtil/WebUtils.java index 5ea7560..c6a2bb2 100644 --- a/Util-Demo/src/main/java/cn/mrdear/util/httpUtil/WebUtils.java +++ b/Util-Demo/src/main/java/cn/mrdear/util/httpUtil/WebUtils.java @@ -1,5 +1,7 @@ package cn.mrdear.util.httpUtil; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.ParseException; @@ -26,12 +28,20 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; import java.security.KeyStore; import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; import java.util.List; import java.util.Map; import javax.net.ssl.SSLContext; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * WEB连接中常用到的方法 @@ -52,6 +62,129 @@ public abstract class WebUtils { HTTP_CLIENT = HttpClientBuilder.create().setConnectionManager(HTTP_CLIENT_CONNECTION_MANAGER).setDefaultRequestConfig(requestConfig).build(); } + /** + * 添加cookie + * @param response HttpServletResponse + * @param name Cookie名称 + * @param value Cookie值 + * @param maxAge 有效期(单位: 秒) + * @param path 路径 + * @param domain 域 + * @param secure 是否启用加密 + */ + public static void addCookie(HttpServletResponse response, String name, String value, Integer maxAge, String path, String domain, Boolean secure) { + + try { + name = URLEncoder.encode(name, "UTF-8"); + value = URLEncoder.encode(value, "UTF-8"); + Cookie cookie = new Cookie(name, value); + if (maxAge != null) { + cookie.setMaxAge(maxAge); + } + if (StringUtils.isNotEmpty(path)) { + cookie.setPath(path); + } + if (StringUtils.isNotEmpty(domain)) { + cookie.setDomain(domain); + } + if (secure != null) { + cookie.setSecure(secure); + } + response.addCookie(cookie); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e.getMessage(), e); + } + } + /** + * 获取cookie + * @param request HttpServletRequest + * @param name Cookie名称 + * @return Cookie值,若不存在则返回null + */ + public static String getCookie(HttpServletRequest request, String name) { + + Cookie[] cookies = request.getCookies(); + if (cookies != null) { + try { + name = URLEncoder.encode(name, "UTF-8"); + for (Cookie cookie : cookies) { + if (name.equals(cookie.getName())) { + return URLDecoder.decode(cookie.getValue(), "UTF-8"); + } + } + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e.getMessage(), e); + } + } + return null; + } + /** + * 移除cookie + * @param response HttpServletResponse + * @param name Cookie名称 + * @param path 路径 + * @param domain 域 + */ + public static void removeCookie(HttpServletResponse response, String name, String path, String domain) { + try { + name = URLEncoder.encode(name, "UTF-8"); + Cookie cookie = new Cookie(name, null); + cookie.setMaxAge(0); + if (StringUtils.isNotEmpty(path)) { + cookie.setPath(path); + } + if (StringUtils.isNotEmpty(domain)) { + cookie.setDomain(domain); + } + response.addCookie(cookie); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e.getMessage(), e); + } + } + + /** + * 把request请求参数转换为Map + * @param request 该请求 + * @return Map格式的参数 + */ + @SuppressWarnings("unchecked") + public static Map request2Map(HttpServletRequest request){ + Enumeration names = request.getParameterNames(); + Map resData = new HashMap(); + while (names.hasMoreElements()) { + String name = names.nextElement(); + resData.put(name, request.getParameter(name)); + } + return resData; + } + + /** + * 连接Map键值对 + * @param map Map + * @param prefix 前缀 + * @param suffix 后缀 + * @param separator 连接符 + * @param ignoreEmptyValue 忽略空值 + * @param ignoreKeys 忽略Key + * @return 字符串 + */ + public static String joinKeyValue(Map map, String prefix, String suffix, String separator, + boolean ignoreEmptyValue, String... ignoreKeys) { + List list = new ArrayList(); + if (map != null) { + //使用Java8语法会更加简洁 + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = String.valueOf(entry.getValue()); + if (StringUtils.isNotEmpty(key) && !ArrayUtils.contains(ignoreKeys, key) + && (!ignoreEmptyValue || StringUtils.isNotEmpty(value))) { + list.add(key + "=" + (value != null ? value : "")); + } + } + } + return (prefix != null ? prefix : "") + StringUtils.join(list, separator) + (suffix != null ? suffix : ""); + } + /** * POST请求 * @@ -70,7 +203,7 @@ public static String post(String url, Map parameterMap,String encodin for (Map.Entry entry : parameterMap.entrySet()) { String name = entry.getKey(); String value = String.valueOf(entry.getValue()); - if (name != null && !"".equals(name)) { + if (StringUtils.isNoneEmpty(value)) { nameValuePairs.add(new BasicNameValuePair(name, value)); } } @@ -158,7 +291,7 @@ public static String get(String url, Map parameterMap) { for (Map.Entry entry : parameterMap.entrySet()) { String name = entry.getKey(); String value = String.valueOf(entry.getValue()); - if (name != null && !"".equals(name)) { + if (StringUtils.isNoneEmpty(value)) { nameValuePairs.add(new BasicNameValuePair(name, value)); } } diff --git a/Util-Demo/src/main/java/cn/mrdear/util/jniUtil/NativeLibraryLoader.java b/Util-Demo/src/main/java/cn/mrdear/util/jniUtil/NativeLibraryLoader.java new file mode 100644 index 0000000..2482c0c --- /dev/null +++ b/Util-Demo/src/main/java/cn/mrdear/util/jniUtil/NativeLibraryLoader.java @@ -0,0 +1,54 @@ +package cn.mrdear.util.jniUtil; + +import java.io.*; + +/** + * Contains helper methods for loading native libraries, particularly JNI. + * + * @author gkubisa + */ +public class NativeLibraryLoader { + /** + * Utility classes should not have a public constructor. + */ + private NativeLibraryLoader() { } + + /** + * Loads a native shared library. It tries the standard System.loadLibrary + * method first and if it fails, it looks for the library in the current + * class path. It will handle libraries packed within jar files, too. + * + * @param libraryName - name of the library to load + * @throws IOException if the library cannot be extracted from a jar file + * into a temporary file + */ + public static void loadLibrary(String libraryName) throws IOException { + try { + System.loadLibrary(libraryName); + } catch (UnsatisfiedLinkError e) { + String fileName = System.mapLibraryName(libraryName); + + int dotPosition = fileName.lastIndexOf('.'); + File file = File.createTempFile(fileName.substring(0, dotPosition), fileName.substring(dotPosition)); + file.deleteOnExit(); + + byte[] buffer = new byte[4096]; + InputStream inputStream = NativeLibraryLoader.class.getClassLoader().getResourceAsStream(fileName); + OutputStream outputStream = new FileOutputStream(file); + + try { + while ( inputStream.available() > 0 ) { + int StreamLength = inputStream.read(buffer); + if ( StreamLength >= 0 ) { + outputStream.write(buffer, 0, StreamLength); + } + } + } finally { + outputStream.close(); + inputStream.close(); + } + + System.load(file.getAbsolutePath()); + } + } +} diff --git a/Util-Demo/src/main/java/cn/mrdear/util/moneyUtil/MoneyUtil.java b/Util-Demo/src/main/java/cn/mrdear/util/moneyUtil/MoneyUtil.java new file mode 100644 index 0000000..32dbb23 --- /dev/null +++ b/Util-Demo/src/main/java/cn/mrdear/util/moneyUtil/MoneyUtil.java @@ -0,0 +1,64 @@ +package cn.mrdear.util.moneyUtil; + +import org.apache.commons.lang3.math.NumberUtils; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + +/** + * 关于金钱操作的工具类 + * @author Niu Li + * @since 2017/3/2 + */ +public class MoneyUtil { + + private static final Map> moneyMap = new HashMap<>(); + + private static final double CENT_RATE = 100.0; + + /** + * 获取当前线程的decimalFormat工具类,因为该类是非同步的 + * @param pattern 格式 + * @return 该实例 + */ + private static DecimalFormat getDecimal(final String pattern){ + ThreadLocal instance = moneyMap.get(pattern); + if (instance == null){ + synchronized (MoneyUtil.class){ + instance = moneyMap.get(pattern); + if (instance == null){ + instance = new ThreadLocal(){ + @Override + protected DecimalFormat initialValue() { + return new DecimalFormat(pattern); + } + }; + } + moneyMap.put(pattern,instance); + } + } + return instance.get(); + } + + /** + * 分转元 + * @param cent 分 + * @return 元 + */ + public static String cent2yuan(Long cent){ + return getDecimal("0.00").format(cent/CENT_RATE); + } + + /** + * 元转分 + * @param yuan 元金额 + * @return 分 + */ + public static Long yuan2cent(double yuan) { + return Math.round(yuan * CENT_RATE); + } +} diff --git a/Util-Demo/src/main/java/cn/mrdear/util/propsUtil/PropertiesUtils.java b/Util-Demo/src/main/java/cn/mrdear/util/propsUtil/PropertiesUtils.java index f88fb40..bc75790 100644 --- a/Util-Demo/src/main/java/cn/mrdear/util/propsUtil/PropertiesUtils.java +++ b/Util-Demo/src/main/java/cn/mrdear/util/propsUtil/PropertiesUtils.java @@ -36,7 +36,7 @@ public static String getUserDirProperty(String key, String filename) { * @return 值 */ public static String getClassPathProperty(String key, String fileName) { - InputStream input = PropertiesUtils.class.getResourceAsStream(fileName); + InputStream input = PropertiesUtils.class.getClassLoader().getResourceAsStream(fileName); return getPropertiesFromInput(input,key); } diff --git a/Util-Demo/src/main/java/cn/mrdear/util/vo/ResultWrapper.java b/Util-Demo/src/main/java/cn/mrdear/util/vo/ResultWrapper.java new file mode 100644 index 0000000..e05e4c7 --- /dev/null +++ b/Util-Demo/src/main/java/cn/mrdear/util/vo/ResultWrapper.java @@ -0,0 +1,79 @@ +package cn.mrdear.util.vo; + +import java.util.List; + +/** + * 用于包装接口返回 + * @author Niu Li + * @since 2017/4/19 + */ +public class ResultWrapper { + /** + * 状态码 + */ + private Integer status; + /** + * 状态信息 + */ + private String msg; + /** + * 数据data + */ + private T data; + + + public ResultWrapper OK(){ + //todo 自己根据错误码填充 + this.status = 1; + this.msg = "Success"; + return this; + } + + public ResultWrapper OKWithData(T data) { + this.OK(); + this.data = data; + return this; + } + + public ResultWrapper CustomStatus(Integer status, String msg) { + this.status = status; + this.msg = msg; + return this; + } + + + /** + * 用于滚动数据的返回,举例瀑布流 + * @param + */ + public static class ScrollData{ + private Integer hasMore; + + private Integer nextSatrt; + + private List objectList; + + public ScrollData(boolean hasMore, Integer nextSatrt, List objectList) { + this.hasMore = hasMore?1:0; + this.nextSatrt = nextSatrt; + this.objectList = objectList; + } + } + + /** + * 用于分页数据返回 + * @param + */ + private static class PaginationData{ + private Integer total; + private Integer limit; + private List objectList; + + public PaginationData(Integer limit, Integer total, List objectList) { + this.limit = limit; + this.total = total; + this.objectList = objectList; + } + } + +} diff --git a/Util-Demo/src/test/resources/message.xml b/Util-Demo/src/test/resources/message.xml index 40e484e..5c7f9cc 100644 --- a/Util-Demo/src/test/resources/message.xml +++ b/Util-Demo/src/test/resources/message.xml @@ -2,14 +2,14 @@ - 尊敬的会员,这是您的验证码{code_set}(有效时间{minute_set}分钟),感谢您的关注! + 尊敬的会员,这是您的验证码{code_set}(有效时间{minute_set}分钟),感谢您的关注! - 您的朋友{giver_mobile}赠送给您{card_num}张"{card_name}",请及时关注微信"融信科技"公众号,进行查收。 + 您的朋友{giver_mobile}赠送给您{card_num}张"{card_name}",请及时关注微信"融信科技"公众号,进行查收。 - 尊敬的会员,这是您的支付密码已重置为{passwd_set},登录后请立即修改密码。 + 尊敬的会员,这是您的支付密码已重置为{passwd_set},登录后请立即修改密码。 - 尊敬的会员,您当前账户余额{bal_amt},您尾号{end_code}的卡号消费了{amt_cuy}元,如果不是本人消费,请立即联系管理员处理。 + 尊敬的会员,您当前账户余额{bal_amt},您尾号{end_code}的卡号消费了{amt_cuy}元,如果不是本人消费,请立即联系管理员处理。 diff --git a/gRPC-Demo/pom.xml b/gRPC-Demo/pom.xml new file mode 100644 index 0000000..a92eef4 --- /dev/null +++ b/gRPC-Demo/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + cn.mrdear.grpc + gRPC-Demo + 1.0-SNAPSHOT + gRPC-Demo + + 1.0.3 + + + + + + io.grpc + grpc-netty + ${grpc.version} + + + io.grpc + grpc-protobuf + ${grpc.version} + + + io.grpc + grpc-stub + ${grpc.version} + + + + + org.apache.commons + commons-pool2 + 2.4.2 + + + + + + + + kr.motd.maven + os-maven-plugin + 1.4.1.Final + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + 0.5.0 + + com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier} + grpc-java + io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} + + + + + compile + compile-custom + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + \ No newline at end of file diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ClientInterruptImpl.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ClientInterruptImpl.java new file mode 100644 index 0000000..d04de2c --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ClientInterruptImpl.java @@ -0,0 +1,53 @@ +package cn.mrdear.grpc.clientProcess; + +import io.grpc.CallOptions; +import io.grpc.Channel; +import io.grpc.ClientCall; +import io.grpc.ClientInterceptor; +import io.grpc.ForwardingClientCall; +import io.grpc.ForwardingClientCallListener; +import io.grpc.Metadata; +import io.grpc.MethodDescriptor; +import io.grpc.Status; + +/** + * 客户端拦截器 + * @author Niu Li + * @date 2017/2/4 + */ +//ClientInterceptor接口是针对ClientCall的创建进行拦截 +public class ClientInterruptImpl implements ClientInterceptor { + @Override + public ClientCall interceptCall(MethodDescriptor method, + CallOptions callOptions, Channel next) { + //创建client + System.out.println("创建client1"); + ClientCall clientCall = next.newCall(method,callOptions); + return new ForwardingClientCall() { + @Override + protected ClientCall delegate() { + return clientCall; + } + @Override + public void start(Listener responseListener, Metadata headers) { + System.out.println("拦截器1,在此可以对header参数进行修改"); + Metadata.Key token = Metadata.Key.of("token",Metadata.ASCII_STRING_MARSHALLER); + headers.put(token,"123456"); + //包装回调监听,使其也能拦截 + Listener forwardListener = new ForwardingClientCallListener. + SimpleForwardingClientCallListener(responseListener) { + @Override + public void onHeaders(Metadata headers) { + Metadata.Key token = Metadata.Key.of("token",Metadata.ASCII_STRING_MARSHALLER); + if (!"123456".equals(headers.get(token))){ + System.out.println("返回参数无token,关闭该链接"); + super.onClose(Status.DATA_LOSS,headers); + } + super.onHeaders(headers); + } + }; + super.start(forwardListener, headers); + } + }; + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldClientProcess.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldClientProcess.java new file mode 100644 index 0000000..277c72d --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldClientProcess.java @@ -0,0 +1,65 @@ +package cn.mrdear.grpc.clientProcess; + +import java.util.concurrent.TimeUnit; + +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.grpc.StatusRuntimeException; +import io.grpc.examples.helloworld.GreeterGrpc; +import io.grpc.examples.helloworld.HelloReply; +import io.grpc.examples.helloworld.HelloRequest; + +/** + * 按照hello world来分析整个客户端执行过程 + * @author Niu Li + * @date 2017/1/28 + */ +public class HelloWorldClientProcess { + + private final ManagedChannel channel; //一个gRPC信道 + private final GreeterGrpc.GreeterBlockingStub blockingStub;//阻塞/同步 存根 + + //初始化信道和存根 + public HelloWorldClientProcess(String host, int port){ + + this(ManagedChannelBuilder.forAddress(host, port) + // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid + // needing certificates. + .usePlaintext(true)); + } + + //创建channel的时候添加上转换器 + private HelloWorldClientProcess(ManagedChannelBuilder channelBuilder) { + channel = channelBuilder.intercept(new ClientInterruptImpl()).build(); + //使用gzip压缩 + blockingStub = GreeterGrpc.newBlockingStub(channel).withCompression("gzip"); + } + + public void shutdown() throws InterruptedException { + channel.shutdown().awaitTermination(5, TimeUnit.SECONDS); + } + + //客户端方法 + public void greet(String name){ + HelloRequest request = HelloRequest.newBuilder().setName(name).build(); + HelloReply response; + try { + response = blockingStub.sayHello(request); + } catch (StatusRuntimeException e) { + System.out.println("RPC调用失败:"+e.getMessage()); + return; + } + System.out.println("服务器返回信息:"+response.getMessage()); + } + + public static void main(String[] args) throws InterruptedException { + HelloWorldClientProcess client = new HelloWorldClientProcess("127.0.0.1",50051); + try { + for(int i=0;i<5;i++){ + client.greet("world:"+i); + } + }finally { + client.shutdown(); + } + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldServerProcess.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldServerProcess.java new file mode 100644 index 0000000..74b5a54 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/HelloWorldServerProcess.java @@ -0,0 +1,86 @@ +package cn.mrdear.grpc.clientProcess; + +import java.io.IOException; + +import io.grpc.Server; +import io.grpc.ServerBuilder; +import io.grpc.ServerInterceptors; +import io.grpc.examples.helloworld.GreeterGrpc; +import io.grpc.examples.helloworld.HelloReply; +import io.grpc.examples.helloworld.HelloRequest; +import io.grpc.stub.StreamObserver; + +/** + * 按照hello world来分析整个服务端执行过程 + * @author Niu Li + * @date 2017/1/28 + */ +public class HelloWorldServerProcess { + + private int port = 50051; + private Server server; + + /** + * 启动服务 + * @throws IOException + */ + private void start() throws IOException { + System.out.println("service start..."); + + server = ServerBuilder.forPort(port) + .addService(ServerInterceptors.intercept(new GreeterImpl(),new ServerInterruptImpl())) + .build() + .start(); + + System.out.println("service started"); + //程序正常退出,系统调用 System.exit方法或虚拟机被关闭时执行该调用 + Runtime.getRuntime().addShutdownHook(new Thread() { + + @Override + public void run() { + System.err.println("*** shutting down gRPC server since JVM is shutting down"); + HelloWorldServerProcess.this.stop(); + System.err.println("*** server shut down"); + } + }); + } + + private void stop() { + if (server != null) { + server.shutdown(); + } + } + + // block 一直到退出程序 + private void blockUntilShutdown() throws InterruptedException { + if (server != null) { + server.awaitTermination(); + } + } + + + public static void main(String[] args) throws IOException, InterruptedException { + final HelloWorldServerProcess server = new HelloWorldServerProcess(); + server.start(); + server.blockUntilShutdown(); + } + + + // 实现 定义一个实现服务接口的类 + private class GreeterImpl extends GreeterGrpc.GreeterImplBase { + + public void sayHello(HelloRequest req, StreamObserver responseObserver) { + //获取参数 + System.out.println("收到的信息:"+req.getName()); + + //这里可以放置具体业务处理代码 start + + //这里可以放置具体业务处理代码 end + + //构造返回 + HelloReply reply = HelloReply.newBuilder().setMessage(("Hello: " + req.getName())).build(); + responseObserver.onNext(reply); + responseObserver.onCompleted(); + } + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ServerInterruptImpl.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ServerInterruptImpl.java new file mode 100644 index 0000000..cdee9ba --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/ServerInterruptImpl.java @@ -0,0 +1,39 @@ +package cn.mrdear.grpc.clientProcess; + +import io.grpc.ForwardingServerCall; +import io.grpc.Metadata; +import io.grpc.ServerCall; +import io.grpc.ServerCallHandler; +import io.grpc.ServerInterceptor; +import io.grpc.Status; +import io.netty.util.internal.StringUtil; + +/** + * 服务端拦截器 + * @author Niu Li + * @date 2017/2/4 + */ +public class ServerInterruptImpl implements ServerInterceptor{ + @Override + public ServerCall.Listener interceptCall(ServerCall call, + Metadata headers, ServerCallHandler next) { + System.out.println("执行server拦截器1,获取token"); + //获取客户端参数 + Metadata.Key token = Metadata.Key.of("token", Metadata.ASCII_STRING_MARSHALLER); + String tokenStr = headers.get(token); + if (StringUtil.isNullOrEmpty(tokenStr)){ + System.out.println("未收到客户端token,关闭此连接"); + call.close(Status.DATA_LOSS,headers); + } + //服务端写回参数 + ServerCall serverCall = new ForwardingServerCall.SimpleForwardingServerCall(call) { + @Override + public void sendHeaders(Metadata headers) { + System.out.println("执行server拦截器2,写入token"); + headers.put(token,tokenStr); + super.sendHeaders(headers); + } + }; + return next.startCall(serverCall,headers); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/Client.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/Client.java new file mode 100644 index 0000000..2249339 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/Client.java @@ -0,0 +1,10 @@ +package cn.mrdear.grpc.clientProcess.forwardExample; + +/** + * 主调用接口 + * @author Niu Li + * @date 2017/2/4 + */ +public abstract class Client { + public abstract void start(String say); +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ClientImp.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ClientImp.java new file mode 100644 index 0000000..f65b67a --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ClientImp.java @@ -0,0 +1,12 @@ +package cn.mrdear.grpc.clientProcess.forwardExample; + +/** + * @author Niu Li + * @date 2017/2/4 + */ +public class ClientImp extends Client { + @Override + public void start(String say) { + System.out.println(say); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClient.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClient.java new file mode 100644 index 0000000..992724e --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClient.java @@ -0,0 +1,16 @@ +package cn.mrdear.grpc.clientProcess.forwardExample; + +/** + * 用于包装Client到另一个Client + * @author Niu Li + * @date 2017/2/4 + */ +public abstract class ForwardingClient extends Client{ + //要包装的对象 + protected abstract Client delegate(); + + @Override + public void start(String say) { + delegate().start(say); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClientImpl.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClientImpl.java new file mode 100644 index 0000000..3700ebb --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/ForwardingClientImpl.java @@ -0,0 +1,21 @@ +package cn.mrdear.grpc.clientProcess.forwardExample; + +/** + * 一个简单的包装示例,必须要传入要包装的对象 + * @author Niu Li + * @date 2017/2/4 + */ +public class ForwardingClientImpl extends ForwardingClient{ + + //被委托对象 + private final Client client; + + public ForwardingClientImpl(Client client) { + this.client = client; + } + + @Override + protected Client delegate() { + return client; + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/InterceptTest.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/InterceptTest.java new file mode 100644 index 0000000..b0ddb49 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/clientProcess/forwardExample/InterceptTest.java @@ -0,0 +1,31 @@ +package cn.mrdear.grpc.clientProcess.forwardExample; + +/** + * 一个简单的委托模式. + * @author Niu Li + * @date 2017/2/4 + */ +public class InterceptTest { + + public static void main(String[] args) { + Client client = new ClientImp();//主要想执行的方法 + //构造第一个拦截器 + Client intercept1 = new ForwardingClientImpl(client){ + @Override + public void start(String say) { + System.out.println("拦截器1"); + super.start(say); + } + }; + //构造第二个拦截器 + Client intercept2 = new ForwardingClientImpl(intercept1){ + @Override + public void start(String say) { + System.out.println("拦截器2"); + super.start(say); + } + }; + //执行主方法 + intercept2.start("这是要执行的方法"); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/common/WorkCallBack.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/common/WorkCallBack.java new file mode 100644 index 0000000..ea5b101 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/common/WorkCallBack.java @@ -0,0 +1,11 @@ +package cn.mrdear.grpc.common; + +/** + * 给模板类使用的接口 + * @author Niu Li + * @since 17-2-8 + */ +public interface WorkCallBack { + + void callback(S s); +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldClient.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldClient.java new file mode 100644 index 0000000..1107a74 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldClient.java @@ -0,0 +1,66 @@ +package cn.mrdear.grpc.hello; + +import java.util.concurrent.TimeUnit; + +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.grpc.StatusRuntimeException; +import io.grpc.examples.helloworld.GreeterGrpc; +import io.grpc.examples.helloworld.HelloReply; +import io.grpc.examples.helloworld.HelloRequest; + +/** + * @author Niu Li + * @date 2017/1/28 + */ +public class HelloWorldClient { + + private final ManagedChannel channel; //一个gRPC信道 + private final GreeterGrpc.GreeterBlockingStub blockingStub;//阻塞/同步 存根 + private GreeterGrpc.GreeterFutureStub futureStub;//非阻塞/同步 存根 + private GreeterGrpc.GreeterStub asyncStub;//非阻塞/异步 存根 + + //初始化信道和存根 + public HelloWorldClient(String host,int port){ + this(ManagedChannelBuilder.forAddress(host, port) + .usePlaintext(true)); + } + + private HelloWorldClient(ManagedChannelBuilder channelBuilder) { + //信道应该是长连接,存根则每次调用创建一个 + channel = channelBuilder.build(); + //使用gzip压缩 + blockingStub = GreeterGrpc.newBlockingStub(channel).withCompression("gzip"); +// futureStub = GreeterGrpc.newFutureStub(channel).withCompression("gzip"); +// asyncStub = GreeterGrpc.newStub(channel).withCompression("gzip"); + } + + + public void shutdown() throws InterruptedException { + channel.shutdown().awaitTermination(5, TimeUnit.SECONDS); + } + + //客户端方法 + public void greet(String name){ + HelloRequest request = HelloRequest.newBuilder().setName(name).build(); + HelloReply response; + try { + response = blockingStub.sayHello(request); + } catch (StatusRuntimeException e) { + System.out.println("RPC调用失败:"+e.getMessage()); + return; + } + System.out.println("服务器返回信息:"+response.getMessage()); + } + + public static void main(String[] args) throws InterruptedException { + HelloWorldClient client = new HelloWorldClient("127.0.0.1",50051); + try { + for(int i=0;i<5;i++){ + client.greet("world:"+i); + } + }finally { + client.shutdown(); + } + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldServer.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldServer.java new file mode 100644 index 0000000..6c36337 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hello/HelloWorldServer.java @@ -0,0 +1,79 @@ +package cn.mrdear.grpc.hello; + +import java.io.IOException; + +import io.grpc.Server; +import io.grpc.ServerBuilder; +import io.grpc.examples.helloworld.GreeterGrpc; +import io.grpc.examples.helloworld.HelloReply; +import io.grpc.examples.helloworld.HelloRequest; +import io.grpc.stub.StreamObserver; + +/** + * @author Niu Li + * @date 2017/1/28 + */ +public class HelloWorldServer { + + private int port = 50051; + private Server server; + + /** + * 启动服务 + */ + private void start() throws IOException { + + System.out.println("service start..."); + server = ServerBuilder.forPort(port) + .addService(new GreeterImpl()) + .build() + .start(); + System.out.println("service started"); + + //程序正常退出,系统调用 System.exit方法或虚拟机被关闭时执行该调用 + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + System.err.println("*** shutting down gRPC server since JVM is shutting down"); + HelloWorldServer.this.stop(); + System.err.println("*** server shut down"); + })); + } + + private void stop() { + if (server != null) { + server.shutdown(); + } + } + + // block 一直到退出程序 + private void blockUntilShutdown() throws InterruptedException { + if (server != null) { + server.awaitTermination(); + } + } + + + public static void main(String[] args) throws IOException, InterruptedException { + final HelloWorldServer server = new HelloWorldServer(); + server.start(); + server.blockUntilShutdown(); + } + + + // 实现 定义一个实现服务接口的类 + private class GreeterImpl extends GreeterGrpc.GreeterImplBase { + + public void sayHello(HelloRequest req, StreamObserver responseObserver) { + //获取参数 + System.out.println("收到的信息:"+req.getName()); + + //这里可以放置具体业务处理代码 start + + //这里可以放置具体业务处理代码 end + + //构造返回 + HelloReply reply = HelloReply.newBuilder().setMessage(("Hello: " + req.getName())).build(); + responseObserver.onNext(reply); + responseObserver.onCompleted(); + } + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientPool.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientPool.java new file mode 100644 index 0000000..5c76ed0 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientPool.java @@ -0,0 +1,75 @@ +package cn.mrdear.grpc.hellopool; + +import org.apache.commons.pool2.impl.GenericObjectPool; +import org.apache.commons.pool2.impl.GenericObjectPoolConfig; + +import cn.mrdear.grpc.common.WorkCallBack; + +/** + * @author Niu Li + * @since 17-2-8 + */ +public class HelloWorldClientPool { + + private static GenericObjectPool objectPool = null; + + static { + // 连接池的配置 + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); + // 池中的最大连接数 + poolConfig.setMaxTotal(8); + // 最少的空闲连接数 + poolConfig.setMinIdle(0); + // 最多的空闲连接数 + poolConfig.setMaxIdle(8); + // 当连接池资源耗尽时,调用者最大阻塞的时间,超时时抛出异常 单位:毫秒数 + poolConfig.setMaxWaitMillis(-1); + // 连接池存放池化对象方式,true放在空闲队列最前面,false放在空闲队列最后 + poolConfig.setLifo(true); + // 连接空闲的最小时间,达到此值后空闲连接可能会被移除,默认即为30分钟 + poolConfig.setMinEvictableIdleTimeMillis(1000L * 60L * 30L); + // 连接耗尽时是否阻塞,默认为true + poolConfig.setBlockWhenExhausted(true); + // 连接池创建 + objectPool = new GenericObjectPool<>(new HelloWorldFactory(), poolConfig); + } + + /** + * 从连接池获取对象 + */ + private static HelloWorldClientSingle borrowObject(){ + try { + HelloWorldClientSingle clientSingle = objectPool.borrowObject(); + System.out.println("总创建线程数"+objectPool.getCreatedCount()); + return clientSingle; + } catch (Exception e) { + e.printStackTrace(); + } + //连接池失败则主动创建 + return createClient(); + } + + /** + * 当连接池异常,则主动创建对象 + */ + private static HelloWorldClientSingle createClient(){ + return new HelloWorldClientSingle("127.0.0.1", 55001); + } + + /** + * 执行器 + * @param workCallBack 主要服务内容 + */ + public static Runnable execute(WorkCallBack workCallBack){ + return () -> { + HelloWorldClientSingle client = borrowObject(); + try { + workCallBack.callback(client); + } finally { + /** 将连接对象返回给连接池 */ + objectPool.returnObject(client); + } + }; + } + +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientSingle.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientSingle.java new file mode 100644 index 0000000..465a7aa --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientSingle.java @@ -0,0 +1,44 @@ +package cn.mrdear.grpc.hellopool; + +import java.util.concurrent.TimeUnit; + +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.grpc.StatusRuntimeException; +import io.grpc.examples.helloworld.GreeterGrpc; +import io.grpc.examples.helloworld.HelloReply; +import io.grpc.examples.helloworld.HelloRequest; + +/** + * @author Niu Li + * @date 2017/1/28 + */ +public class HelloWorldClientSingle { + + private final ManagedChannel channel; //一个gRPC信道 + private GreeterGrpc.GreeterBlockingStub greeterBlockingStub;//阻塞/同步 存根 + + //初始化信道和存根 + public HelloWorldClientSingle(String host,int port){ + channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build(); + } + + public void shutdown() throws InterruptedException { + channel.shutdown().awaitTermination(5, TimeUnit.SECONDS); + } + + //客户端方法 + public void greet(String name){ + //需要用到存根时创建,不可复用 + greeterBlockingStub = GreeterGrpc.newBlockingStub(channel).withCompression("gzip"); + HelloRequest request = HelloRequest.newBuilder().setName(name).build(); + HelloReply response; + try { + response = greeterBlockingStub.sayHello(request); + } catch (StatusRuntimeException e) { + System.out.println("RPC调用失败:"+e.getMessage()); + return; + } + System.out.println("服务器返回信息:"+response.getMessage()); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientTest.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientTest.java new file mode 100644 index 0000000..1bea9f1 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldClientTest.java @@ -0,0 +1,16 @@ +package cn.mrdear.grpc.hellopool; + +/** + * @author Niu Li + * @since 17-2-8 + */ +public class HelloWorldClientTest { + + public static void main(String[] args) { + for (int i = 0; i < 100; i++) { + new Thread( HelloWorldClientPool.execute(clientSingle -> { + clientSingle.greet("world"); + })).start(); + } + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldFactory.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldFactory.java new file mode 100644 index 0000000..d1efd14 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/hellopool/HelloWorldFactory.java @@ -0,0 +1,33 @@ +package cn.mrdear.grpc.hellopool; + +import org.apache.commons.pool2.BasePooledObjectFactory; +import org.apache.commons.pool2.PooledObject; +import org.apache.commons.pool2.impl.DefaultPooledObject; + +/** + * 连接池所需工厂 + * @author Niu Li + * @since 17-2-8 + */ +public class HelloWorldFactory extends BasePooledObjectFactory { + + private String host = "127.0.0.1"; + + private int port = 50051; + + @Override + public HelloWorldClientSingle create() throws Exception { + return new HelloWorldClientSingle(this.host,this.port); + } + + @Override + public PooledObject wrap(HelloWorldClientSingle helloWorldClientSingle) { + return new DefaultPooledObject<>(helloWorldClientSingle); + } + + @Override + public void destroyObject(PooledObject p) throws Exception { + p.getObject().shutdown(); + super.destroyObject(p); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideClient.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideClient.java new file mode 100644 index 0000000..604bf81 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideClient.java @@ -0,0 +1,207 @@ +package cn.mrdear.grpc.route; + +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import cn.mrdear.route.Feature; +import cn.mrdear.route.Point; +import cn.mrdear.route.Rectangle; +import cn.mrdear.route.RouteGuideGrpc; +import cn.mrdear.route.RouteNote; +import cn.mrdear.route.RouteSummary; +import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; +import io.grpc.StatusRuntimeException; +import io.grpc.stub.StreamObserver; + +/** + * @author Niu Li + * @date 2017/2/2 + */ +public class RouteGuideClient { + + private final ManagedChannel channel;//grpc信道,需要指定端口和地址 + private final RouteGuideGrpc.RouteGuideBlockingStub blockingStub;//阻塞/同步存根 + private final RouteGuideGrpc.RouteGuideStub asyncStub;//非阻塞,异步存根 + + + public RouteGuideClient(String host,int port) { + //创建信道 + channel = ManagedChannelBuilder.forAddress(host, port) + .usePlaintext(true) + .build(); + //创建存根 + blockingStub = RouteGuideGrpc.newBlockingStub(channel); + asyncStub = RouteGuideGrpc.newStub(channel); + } + + /** + * 关闭方法 + */ + public void shutdown() throws InterruptedException { + channel.shutdown().awaitTermination(5, TimeUnit.SECONDS); + } + + /** + * 主方法中调用这一些函数的执行 + */ + public static void main(String[] args) throws InterruptedException { + List features; + try { + features = RouteGuideUtil.parseFeatures(RouteGuideUtil.getDefaultFeaturesFile()); + } catch (IOException ex) { + ex.printStackTrace(); + return; + } + RouteGuideClient client = new RouteGuideClient("localhost", 50051); + try { +// client.getFeature(409146138, -746188906);//成功案例 +// client.getFeature(0, 0);//失败案例 +// client.listFeatures(400000000, -750000000, 420000000, -730000000); +// client.recordRoute(features, 10); + CountDownLatch finishLatch = client.routeChat(); + + if (!finishLatch.await(1, TimeUnit.MINUTES)) { + System.out.println("routeChat can not finish within 1 minutes"); + } + } finally { + client.shutdown(); + } + } + + //1.简单grpc + public void getFeature(int lat,int lon){ + System.out.println("start getFeature"); + Point request = Point.newBuilder() + .setLatitude(lat) + .setLongitude(lon) + .build(); + Feature feature; + try { + //同步阻塞调用 + feature = blockingStub.getFeature(request); + System.out.println("getFeature服务端返回 :" + feature); + } catch (StatusRuntimeException e) { + System.out.println("RPC failed " +e.getStatus()); + } + } + + //2.服务端流式RPC + public void listFeatures(int lowLat, int lowLon, int hiLat, int hiLon){ + System.out.println("start listFeatures"); + Rectangle request = + Rectangle.newBuilder() + .setLo(Point.newBuilder().setLatitude(lowLat).setLongitude(lowLon).build()) + .setHi(Point.newBuilder().setLatitude(hiLat).setLongitude(hiLon).build()).build(); + Iterator features; + try { + features = blockingStub.listFeatures(request); + for (int i = 1; features.hasNext(); i++) { + Feature feature = features.next(); + System.out.println("listFeatures服务端返回 :" + feature); + } + } catch (Exception e) { + System.out.println("RPC failed " +e.getMessage()); + } + } +// 客户端流式RPC + public void recordRoute(List features, int numPoints) throws InterruptedException { + System.out.println("start recordRoute"); + final CountDownLatch finishLatch = new CountDownLatch(1); + //建一个应答者接受返回数据 + StreamObserver responseObserver = new StreamObserver() { + @Override + public void onNext(RouteSummary summary) { + System.out.println("recordRoute服务端返回 :" + summary); + } + + @Override + public void onError(Throwable t) { + System.out.println("RecordRoute Failed"); + finishLatch.countDown(); + } + + @Override + public void onCompleted() { + System.out.println("RecordRoute finish"); + finishLatch.countDown(); + } + }; + //客户端写入操作 + StreamObserver requestObserver = asyncStub.recordRoute(responseObserver); + Random random = new Random(); + try { + for (int i = 0; i < numPoints; ++i) { + int index = random.nextInt(features.size()); + Point point = features.get(index).getLocation(); + System.out.println("客户端写入point:" + point); + requestObserver.onNext(point); + + Thread.sleep(random.nextInt(1000) + 500); + if (finishLatch.getCount() == 0) { + return; + } + } + } catch (RuntimeException e) { + requestObserver.onError(e); + throw e; + } + //标识已经写完 + requestObserver.onCompleted(); + // Receiving happens asynchronously + if (!finishLatch.await(1, TimeUnit.MINUTES)) { + System.out.println("recordRoute can not finish within 1 minutes"); + } + } +// 双向流式RPC + public CountDownLatch routeChat() { + System.out.println("start routeChat"); + final CountDownLatch finishLatch = new CountDownLatch(1); + StreamObserver requestObserver = + asyncStub.routeChat(new StreamObserver() { + @Override + public void onNext(RouteNote note) { + System.out.println("服务端写回: " + note); + } + + @Override + public void onError(Throwable t) { + t.printStackTrace(); + System.out.println("RouteChat Failed:"); + finishLatch.countDown(); + } + + @Override + public void onCompleted() { + System.out.println("Finished RouteChat"); + finishLatch.countDown(); + } + }); + + try { + RouteNote[] requests = + {newNote("First message", 0, 0), newNote("Second message", 0, 1), + newNote("Third message", 1, 0), newNote("Fourth message", 1, 1)}; + + for (RouteNote request : requests) { + System.out.println("客户端写入:" + request); + requestObserver.onNext(request); + } + } catch (RuntimeException e) { + requestObserver.onError(e); + throw e; + } + //标识写完 + requestObserver.onCompleted(); + return finishLatch; + } + + private RouteNote newNote(String message, int lat, int lon) { + return RouteNote.newBuilder().setMessage(message) + .setLocation(Point.newBuilder().setLatitude(lat).setLongitude(lon).build()).build(); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideServer.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideServer.java new file mode 100644 index 0000000..6df8a80 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideServer.java @@ -0,0 +1,67 @@ +package cn.mrdear.grpc.route; + +import java.io.IOException; +import java.util.List; + +import cn.mrdear.route.Feature; +import io.grpc.Server; +import io.grpc.ServerBuilder; + +/** + * @author Niu Li + * @date 2017/2/2 + */ +public class RouteGuideServer { + private final int port;//服务端端口 + private final Server server;//服务器 + + public RouteGuideServer(int port) throws IOException { + this.port = port; + //获取初始化数据 + List features = RouteGuideUtil.parseFeatures(RouteGuideUtil.getDefaultFeaturesFile()); + //初始化Server参数 + server = ServerBuilder.forPort(port) + //添加指定服务 + .addService(new RouteGuideService(features)) + .build(); + } + + /** + * 启动服务 + */ + public void start() throws IOException { + server.start(); + System.out.println("Server started, listening on " + port); + //程序退出时关闭资源 + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + System.err.println("*** shutting down gRPC server since JVM is shutting down"); + RouteGuideServer.this.stop(); + System.err.println("*** server shut down"); + })); + } + + /** + * 关闭服务 + */ + public void stop() { + if (server != null) { + server.shutdown(); + } + } + + /** + * 使得server一直处于运行状态 + */ + private void blockUntilShutdown() throws InterruptedException { + if (server != null) { + server.awaitTermination(); + } + } + + public static void main(String[] args) throws IOException, InterruptedException { + RouteGuideServer server = new RouteGuideServer(50051); + server.start(); + server.blockUntilShutdown(); + } + +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideService.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideService.java new file mode 100644 index 0000000..8031ff9 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideService.java @@ -0,0 +1,179 @@ +package cn.mrdear.grpc.route; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import cn.mrdear.route.Feature; +import cn.mrdear.route.Point; +import cn.mrdear.route.Rectangle; +import cn.mrdear.route.RouteGuideGrpc; +import cn.mrdear.route.RouteNote; +import cn.mrdear.route.RouteSummary; +import io.grpc.stub.StreamObserver; + +import static java.lang.Math.atan2; +import static java.lang.Math.cos; +import static java.lang.Math.max; +import static java.lang.Math.min; +import static java.lang.Math.sin; +import static java.lang.Math.sqrt; +import static java.lang.Math.toRadians; +import static java.util.concurrent.TimeUnit.NANOSECONDS; + +/** + * 具体服务类 + * @author Niu Li + * @date 2017/2/2 + */ +public class RouteGuideService extends RouteGuideGrpc.RouteGuideImplBase { + //保存搜索的位置 + private final Collection features; + + private final ConcurrentMap> routeNotes = + new ConcurrentHashMap>(); + //初始化所有点 + RouteGuideService(Collection features) { + this.features = features; + } + + @Override + public void getFeature(Point request, StreamObserver responseObserver) { + System.out.println("getFeature得到的请求参数: " + request.toString()); +// responseObserver.onError(); 代表请求出错 + responseObserver.onNext(checkFeature(request));//包装返回信息 + responseObserver.onCompleted();//完成一次请求 + } + //找到复核的feature + private Feature checkFeature(Point location) { + for (Feature feature : features) { + if (feature.getLocation().getLatitude() == location.getLatitude() + && feature.getLocation().getLongitude() == location.getLongitude()) { + return feature; + } + } + // No feature was found, return an unnamed feature. + return Feature.newBuilder().setName("").setLocation(location).build(); + } + + @Override + public void listFeatures(Rectangle request, StreamObserver responseObserver) { + System.out.println("listFeatures得到的请求参数: " + request.toString()); + int left = min(request.getLo().getLongitude(), request.getHi().getLongitude()); + int right = max(request.getLo().getLongitude(), request.getHi().getLongitude()); + int top = max(request.getLo().getLatitude(), request.getHi().getLatitude()); + int bottom = min(request.getLo().getLatitude(), request.getHi().getLatitude()); + + for (Feature feature : features) { + //如果不存在则继续 + if (!RouteGuideUtil.exists(feature)) { + continue; + } + + int lat = feature.getLocation().getLatitude(); + int lon = feature.getLocation().getLongitude(); + if (lon >= left && lon <= right && lat >= bottom && lat <= top) { + //找到符合的就写入 + responseObserver.onNext(feature); + } + } + //最后标识完成 + responseObserver.onCompleted(); + } + + @Override + public StreamObserver recordRoute(StreamObserver responseObserver) { + return new StreamObserver() { + int pointCount; + int featureCount; + int distance; + Point previous; + long startTime = System.nanoTime(); + //客户端每写入一个Point,服务端就会调用该方法 + @Override + public void onNext(Point point) { + System.out.println("recordRoute得到的请求参数: " + point.toString()); + pointCount++; + if (RouteGuideUtil.exists(checkFeature(point))) { + featureCount++; + } + if (previous != null) { + distance += calcDistance(previous, point); + } + previous = point; + } + + @Override + public void onError(Throwable throwable) { + throwable.printStackTrace(); + System.err.println("Encountered error in recordRoute"); + } + //客户端写入结束时调用 + @Override + public void onCompleted() { + long seconds = NANOSECONDS.toSeconds(System.nanoTime() - startTime); + responseObserver.onNext(RouteSummary.newBuilder().setPointCount(pointCount) + .setFetureCount(featureCount) + .setDistance(distance) + .setElapsedTime((int) seconds).build()); + responseObserver.onCompleted(); + } + }; + } + + @Override + public StreamObserver routeChat(StreamObserver responseObserver) { + return new StreamObserver() { + @Override + public void onNext(RouteNote note) { + System.out.println("routeChat得到参数:" + note); + List notes = getOrCreateNotes(note.getLocation()); + + for (RouteNote prevNote : notes.toArray(new RouteNote[0])) { + responseObserver.onNext(prevNote); + } + notes.add(note); + } + @Override + public void onError(Throwable t) { + t.printStackTrace(); + System.err.println("Encountered error in routeChat"); + } + + @Override + public void onCompleted() { + System.out.println("finsh"); + responseObserver.onCompleted(); + } + }; + } + + //创建记录点 + private List getOrCreateNotes(Point location) { + List notes = Collections.synchronizedList(new ArrayList()); + List prevNotes = routeNotes.putIfAbsent(location, notes); + return prevNotes != null ? prevNotes : notes; + } + + //计算点与点距离 + private static int calcDistance(Point start, Point end) { + double lat1 = RouteGuideUtil.getLatitude(start); + double lat2 = RouteGuideUtil.getLatitude(end); + double lon1 = RouteGuideUtil.getLongitude(start); + double lon2 = RouteGuideUtil.getLongitude(end); + int r = 6371000; // meters + double phi1 = toRadians(lat1); + double phi2 = toRadians(lat2); + double deltaPhi = toRadians(lat2 - lat1); + double deltaLambda = toRadians(lon2 - lon1); + + double a = sin(deltaPhi / 2) * sin(deltaPhi / 2) + + cos(phi1) * cos(phi2) * sin(deltaLambda / 2) * sin(deltaLambda / 2); + double c = 2 * atan2(sqrt(a), sqrt(1 - a)); + + return (int) (r * c); + } +} diff --git a/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideUtil.java b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideUtil.java new file mode 100644 index 0000000..f7fc078 --- /dev/null +++ b/gRPC-Demo/src/main/java/cn/mrdear/grpc/route/RouteGuideUtil.java @@ -0,0 +1,74 @@ + +package cn.mrdear.grpc.route; + +import com.google.protobuf.util.JsonFormat; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.URL; +import java.util.List; + +import cn.mrdear.route.Feature; +import cn.mrdear.route.FeatureDatabase; +import cn.mrdear.route.Point; + +/** + * 为该Demo提供数据 + */ +public class RouteGuideUtil { + private static final double COORD_FACTOR = 1e7; + + public static void main(String[] args) throws IOException { + URL featuresFile = getDefaultFeaturesFile(); + List list = parseFeatures(featuresFile); + System.out.println(list); + } + /** + * Gets the latitude for the given point. + */ + public static double getLatitude(Point location) { + return location.getLatitude() / COORD_FACTOR; + } + + /** + * Gets the longitude for the given point. + */ + public static double getLongitude(Point location) { + return location.getLongitude() / COORD_FACTOR; + } + + /** + * Gets the default features file from classpath. + */ + public static URL getDefaultFeaturesFile() { + return RouteGuideServer.class.getClassLoader().getResource("route_guide_db.json"); + } + + /** + * Parses the JSON input file containing the list of features. + */ + public static List parseFeatures(URL file) throws IOException { + InputStream input = file.openStream(); + try { + Reader reader = new InputStreamReader(input); + try { + FeatureDatabase.Builder database = FeatureDatabase.newBuilder(); + JsonFormat.parser().merge(reader, database); + return database.getFeatureList(); + } finally { + reader.close(); + } + } finally { + input.close(); + } + } + + /** + * Indicates whether the given feature exists (i.e. has a valid name). + */ + public static boolean exists(Feature feature) { + return feature != null && !feature.getName().isEmpty(); + } +} diff --git a/gRPC-Demo/src/main/proto/hello.proto b/gRPC-Demo/src/main/proto/hello.proto new file mode 100644 index 0000000..fdaa504 --- /dev/null +++ b/gRPC-Demo/src/main/proto/hello.proto @@ -0,0 +1,23 @@ +//指定proto3格式 +syntax = "proto3"; +//一些生成代码的设置 +option java_multiple_files = true;//以外部类模式生成 +option java_package = "io.grpc.examples.helloworld";//所在包名 +option java_outer_classname = "HelloWorldProto";//最外层类名称 + +package helloworld; + +//定义了一个service +service Greeter { + rpc SayHello (HelloRequest) returns (HelloReply) {} +} + +//定义了一个消息请求体 +message HelloRequest { + string name = 1; +} + +//定义了一个消息回复体 +message HelloReply { + string message = 1; +} diff --git a/gRPC-Demo/src/main/proto/route.proto b/gRPC-Demo/src/main/proto/route.proto new file mode 100644 index 0000000..636d4bc --- /dev/null +++ b/gRPC-Demo/src/main/proto/route.proto @@ -0,0 +1,64 @@ +//指定proto3格式 +syntax = "proto3"; +//一些生成代码的设置 +option java_multiple_files = true;//以外部类模式生成 +option java_package = "cn.mrdear.route";//所在包名 +option java_outer_classname = "RouteProto";//最外层类名称 + + +//定义服务 +service RouteGuide{ + //得到指定点的feature + //一个 简单 RPC , 客户端使用存根发送请求到服务器并等待响应返回,就像平常的函数调用一样。 + rpc GetFeature(Point) returns (Feature) {} + //获取一个矩形内的点 + //一个 服务器端流式 RPC , 客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流, + //直到里面没有任何消息。从例子中可以看出,通过在 响应 类型前插入 stream 关键字,可以指定一个服务器端的流方法。 + rpc ListFeatures(Rectangle) returns (stream Feature){} + //记录该点 + //一个 客户端流式 RPC , 客户端写入一个消息序列并将其发送到服务器,同样也是使用流。一旦客户端完成写入消息, + //它等待服务器完成读取返回它的响应。通过在 请求 类型前指定 stream 关键字来指定一个客户端的流方法。 + rpc RecordRoute(stream Point) returns (RouteSummary){} + //路由交流 + //一个 双向流式 RPC 是双方使用读写流去发送一个消息序列。两个流独立操作,因此客户端和服务器 + //可以以任意喜欢的顺序读写:比如, 服务器可以在写入响应前等待接收所有的客户端消息,或者可以交替 的读取和写入消息, + //或者其他读写的组合。每个流中的消息顺序被预留。你可以通过在请求和响应前加 stream 关键字去制定方法的类型。 + rpc RouteChat(stream RouteNote) returns (stream RouteNote){} +} + + +//代表经纬度 +message Point { + int32 latitude = 1; + int32 longitude = 2; +} +//由两个点确定的一个方块 +message Rectangle{ + Point lo = 1; + Point hi = 2; +} +//某一位置的名称 +message Feature { + + string name = 1; + + Point location = 2; +} + +// Not used in the RPC. Instead, this is here for the form serialized to disk. +message FeatureDatabase { + repeated Feature feature = 1; +} +//给某一点发送消息 +message RouteNote{ + Point location = 1; + string message = 2; +} + +//记录收到的信息 +message RouteSummary{ + int32 point_count = 1; + int32 feture_count = 2; + int32 distance = 3; + int32 elapsed_time = 4; +} \ No newline at end of file diff --git a/gRPC-Demo/src/main/resources/route_guide_db.json b/gRPC-Demo/src/main/resources/route_guide_db.json new file mode 100644 index 0000000..e0ee318 --- /dev/null +++ b/gRPC-Demo/src/main/resources/route_guide_db.json @@ -0,0 +1,603 @@ +{ + "feature": [{ + "location": { + "latitude": 407838351, + "longitude": -746143763 + }, + "name": "Patriots Path, Mendham, NJ 07945, USA" + }, { + "location": { + "latitude": 408122808, + "longitude": -743999179 + }, + "name": "101 New Jersey 10, Whippany, NJ 07981, USA" + }, { + "location": { + "latitude": 413628156, + "longitude": -749015468 + }, + "name": "U.S. 6, Shohola, PA 18458, USA" + }, { + "location": { + "latitude": 419999544, + "longitude": -740371136 + }, + "name": "5 Conners Road, Kingston, NY 12401, USA" + }, { + "location": { + "latitude": 414008389, + "longitude": -743951297 + }, + "name": "Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA" + }, { + "location": { + "latitude": 419611318, + "longitude": -746524769 + }, + "name": "287 Flugertown Road, Livingston Manor, NY 12758, USA" + }, { + "location": { + "latitude": 406109563, + "longitude": -742186778 + }, + "name": "4001 Tremley Point Road, Linden, NJ 07036, USA" + }, { + "location": { + "latitude": 416802456, + "longitude": -742370183 + }, + "name": "352 South Mountain Road, Wallkill, NY 12589, USA" + }, { + "location": { + "latitude": 412950425, + "longitude": -741077389 + }, + "name": "Bailey Turn Road, Harriman, NY 10926, USA" + }, { + "location": { + "latitude": 412144655, + "longitude": -743949739 + }, + "name": "193-199 Wawayanda Road, Hewitt, NJ 07421, USA" + }, { + "location": { + "latitude": 415736605, + "longitude": -742847522 + }, + "name": "406-496 Ward Avenue, Pine Bush, NY 12566, USA" + }, { + "location": { + "latitude": 413843930, + "longitude": -740501726 + }, + "name": "162 Merrill Road, Highland Mills, NY 10930, USA" + }, { + "location": { + "latitude": 410873075, + "longitude": -744459023 + }, + "name": "Clinton Road, West Milford, NJ 07480, USA" + }, { + "location": { + "latitude": 412346009, + "longitude": -744026814 + }, + "name": "16 Old Brook Lane, Warwick, NY 10990, USA" + }, { + "location": { + "latitude": 402948455, + "longitude": -747903913 + }, + "name": "3 Drake Lane, Pennington, NJ 08534, USA" + }, { + "location": { + "latitude": 406337092, + "longitude": -740122226 + }, + "name": "6324 8th Avenue, Brooklyn, NY 11220, USA" + }, { + "location": { + "latitude": 406421967, + "longitude": -747727624 + }, + "name": "1 Merck Access Road, Whitehouse Station, NJ 08889, USA" + }, { + "location": { + "latitude": 416318082, + "longitude": -749677716 + }, + "name": "78-98 Schalck Road, Narrowsburg, NY 12764, USA" + }, { + "location": { + "latitude": 415301720, + "longitude": -748416257 + }, + "name": "282 Lakeview Drive Road, Highland Lake, NY 12743, USA" + }, { + "location": { + "latitude": 402647019, + "longitude": -747071791 + }, + "name": "330 Evelyn Avenue, Hamilton Township, NJ 08619, USA" + }, { + "location": { + "latitude": 412567807, + "longitude": -741058078 + }, + "name": "New York State Reference Route 987E, Southfields, NY 10975, USA" + }, { + "location": { + "latitude": 416855156, + "longitude": -744420597 + }, + "name": "103-271 Tempaloni Road, Ellenville, NY 12428, USA" + }, { + "location": { + "latitude": 404663628, + "longitude": -744820157 + }, + "name": "1300 Airport Road, North Brunswick Township, NJ 08902, USA" + }, { + "location": { + "latitude": 407113723, + "longitude": -749746483 + }, + "name": "" + }, { + "location": { + "latitude": 402133926, + "longitude": -743613249 + }, + "name": "" + }, { + "location": { + "latitude": 400273442, + "longitude": -741220915 + }, + "name": "" + }, { + "location": { + "latitude": 411236786, + "longitude": -744070769 + }, + "name": "" + }, { + "location": { + "latitude": 411633782, + "longitude": -746784970 + }, + "name": "211-225 Plains Road, Augusta, NJ 07822, USA" + }, { + "location": { + "latitude": 415830701, + "longitude": -742952812 + }, + "name": "" + }, { + "location": { + "latitude": 413447164, + "longitude": -748712898 + }, + "name": "165 Pedersen Ridge Road, Milford, PA 18337, USA" + }, { + "location": { + "latitude": 405047245, + "longitude": -749800722 + }, + "name": "100-122 Locktown Road, Frenchtown, NJ 08825, USA" + }, { + "location": { + "latitude": 418858923, + "longitude": -746156790 + }, + "name": "" + }, { + "location": { + "latitude": 417951888, + "longitude": -748484944 + }, + "name": "650-652 Willi Hill Road, Swan Lake, NY 12783, USA" + }, { + "location": { + "latitude": 407033786, + "longitude": -743977337 + }, + "name": "26 East 3rd Street, New Providence, NJ 07974, USA" + }, { + "location": { + "latitude": 417548014, + "longitude": -740075041 + }, + "name": "" + }, { + "location": { + "latitude": 410395868, + "longitude": -744972325 + }, + "name": "" + }, { + "location": { + "latitude": 404615353, + "longitude": -745129803 + }, + "name": "" + }, { + "location": { + "latitude": 406589790, + "longitude": -743560121 + }, + "name": "611 Lawrence Avenue, Westfield, NJ 07090, USA" + }, { + "location": { + "latitude": 414653148, + "longitude": -740477477 + }, + "name": "18 Lannis Avenue, New Windsor, NY 12553, USA" + }, { + "location": { + "latitude": 405957808, + "longitude": -743255336 + }, + "name": "82-104 Amherst Avenue, Colonia, NJ 07067, USA" + }, { + "location": { + "latitude": 411733589, + "longitude": -741648093 + }, + "name": "170 Seven Lakes Drive, Sloatsburg, NY 10974, USA" + }, { + "location": { + "latitude": 412676291, + "longitude": -742606606 + }, + "name": "1270 Lakes Road, Monroe, NY 10950, USA" + }, { + "location": { + "latitude": 409224445, + "longitude": -748286738 + }, + "name": "509-535 Alphano Road, Great Meadows, NJ 07838, USA" + }, { + "location": { + "latitude": 406523420, + "longitude": -742135517 + }, + "name": "652 Garden Street, Elizabeth, NJ 07202, USA" + }, { + "location": { + "latitude": 401827388, + "longitude": -740294537 + }, + "name": "349 Sea Spray Court, Neptune City, NJ 07753, USA" + }, { + "location": { + "latitude": 410564152, + "longitude": -743685054 + }, + "name": "13-17 Stanley Street, West Milford, NJ 07480, USA" + }, { + "location": { + "latitude": 408472324, + "longitude": -740726046 + }, + "name": "47 Industrial Avenue, Teterboro, NJ 07608, USA" + }, { + "location": { + "latitude": 412452168, + "longitude": -740214052 + }, + "name": "5 White Oak Lane, Stony Point, NY 10980, USA" + }, { + "location": { + "latitude": 409146138, + "longitude": -746188906 + }, + "name": "Berkshire Valley Management Area Trail, Jefferson, NJ, USA" + }, { + "location": { + "latitude": 404701380, + "longitude": -744781745 + }, + "name": "1007 Jersey Avenue, New Brunswick, NJ 08901, USA" + }, { + "location": { + "latitude": 409642566, + "longitude": -746017679 + }, + "name": "6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA" + }, { + "location": { + "latitude": 408031728, + "longitude": -748645385 + }, + "name": "1358-1474 New Jersey 57, Port Murray, NJ 07865, USA" + }, { + "location": { + "latitude": 413700272, + "longitude": -742135189 + }, + "name": "367 Prospect Road, Chester, NY 10918, USA" + }, { + "location": { + "latitude": 404310607, + "longitude": -740282632 + }, + "name": "10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA" + }, { + "location": { + "latitude": 409319800, + "longitude": -746201391 + }, + "name": "11 Ward Street, Mount Arlington, NJ 07856, USA" + }, { + "location": { + "latitude": 406685311, + "longitude": -742108603 + }, + "name": "300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA" + }, { + "location": { + "latitude": 419018117, + "longitude": -749142781 + }, + "name": "43 Dreher Road, Roscoe, NY 12776, USA" + }, { + "location": { + "latitude": 412856162, + "longitude": -745148837 + }, + "name": "Swan Street, Pine Island, NY 10969, USA" + }, { + "location": { + "latitude": 416560744, + "longitude": -746721964 + }, + "name": "66 Pleasantview Avenue, Monticello, NY 12701, USA" + }, { + "location": { + "latitude": 405314270, + "longitude": -749836354 + }, + "name": "" + }, { + "location": { + "latitude": 414219548, + "longitude": -743327440 + }, + "name": "" + }, { + "location": { + "latitude": 415534177, + "longitude": -742900616 + }, + "name": "565 Winding Hills Road, Montgomery, NY 12549, USA" + }, { + "location": { + "latitude": 406898530, + "longitude": -749127080 + }, + "name": "231 Rocky Run Road, Glen Gardner, NJ 08826, USA" + }, { + "location": { + "latitude": 407586880, + "longitude": -741670168 + }, + "name": "100 Mount Pleasant Avenue, Newark, NJ 07104, USA" + }, { + "location": { + "latitude": 400106455, + "longitude": -742870190 + }, + "name": "517-521 Huntington Drive, Manchester Township, NJ 08759, USA" + }, { + "location": { + "latitude": 400066188, + "longitude": -746793294 + }, + "name": "" + }, { + "location": { + "latitude": 418803880, + "longitude": -744102673 + }, + "name": "40 Mountain Road, Napanoch, NY 12458, USA" + }, { + "location": { + "latitude": 414204288, + "longitude": -747895140 + }, + "name": "" + }, { + "location": { + "latitude": 414777405, + "longitude": -740615601 + }, + "name": "" + }, { + "location": { + "latitude": 415464475, + "longitude": -747175374 + }, + "name": "48 North Road, Forestburgh, NY 12777, USA" + }, { + "location": { + "latitude": 404062378, + "longitude": -746376177 + }, + "name": "" + }, { + "location": { + "latitude": 405688272, + "longitude": -749285130 + }, + "name": "" + }, { + "location": { + "latitude": 400342070, + "longitude": -748788996 + }, + "name": "" + }, { + "location": { + "latitude": 401809022, + "longitude": -744157964 + }, + "name": "" + }, { + "location": { + "latitude": 404226644, + "longitude": -740517141 + }, + "name": "9 Thompson Avenue, Leonardo, NJ 07737, USA" + }, { + "location": { + "latitude": 410322033, + "longitude": -747871659 + }, + "name": "" + }, { + "location": { + "latitude": 407100674, + "longitude": -747742727 + }, + "name": "" + }, { + "location": { + "latitude": 418811433, + "longitude": -741718005 + }, + "name": "213 Bush Road, Stone Ridge, NY 12484, USA" + }, { + "location": { + "latitude": 415034302, + "longitude": -743850945 + }, + "name": "" + }, { + "location": { + "latitude": 411349992, + "longitude": -743694161 + }, + "name": "" + }, { + "location": { + "latitude": 404839914, + "longitude": -744759616 + }, + "name": "1-17 Bergen Court, New Brunswick, NJ 08901, USA" + }, { + "location": { + "latitude": 414638017, + "longitude": -745957854 + }, + "name": "35 Oakland Valley Road, Cuddebackville, NY 12729, USA" + }, { + "location": { + "latitude": 412127800, + "longitude": -740173578 + }, + "name": "" + }, { + "location": { + "latitude": 401263460, + "longitude": -747964303 + }, + "name": "" + }, { + "location": { + "latitude": 412843391, + "longitude": -749086026 + }, + "name": "" + }, { + "location": { + "latitude": 418512773, + "longitude": -743067823 + }, + "name": "" + }, { + "location": { + "latitude": 404318328, + "longitude": -740835638 + }, + "name": "42-102 Main Street, Belford, NJ 07718, USA" + }, { + "location": { + "latitude": 419020746, + "longitude": -741172328 + }, + "name": "" + }, { + "location": { + "latitude": 404080723, + "longitude": -746119569 + }, + "name": "" + }, { + "location": { + "latitude": 401012643, + "longitude": -744035134 + }, + "name": "" + }, { + "location": { + "latitude": 404306372, + "longitude": -741079661 + }, + "name": "" + }, { + "location": { + "latitude": 403966326, + "longitude": -748519297 + }, + "name": "" + }, { + "location": { + "latitude": 405002031, + "longitude": -748407866 + }, + "name": "" + }, { + "location": { + "latitude": 409532885, + "longitude": -742200683 + }, + "name": "" + }, { + "location": { + "latitude": 416851321, + "longitude": -742674555 + }, + "name": "" + }, { + "location": { + "latitude": 406411633, + "longitude": -741722051 + }, + "name": "3387 Richmond Terrace, Staten Island, NY 10303, USA" + }, { + "location": { + "latitude": 413069058, + "longitude": -744597778 + }, + "name": "261 Van Sickle Road, Goshen, NY 10924, USA" + }, { + "location": { + "latitude": 418465462, + "longitude": -746859398 + }, + "name": "" + }, { + "location": { + "latitude": 411733222, + "longitude": -744228360 + }, + "name": "" + }, { + "location": { + "latitude": 410248224, + "longitude": -747127767 + }, + "name": "3 Hasta Way, Newton, NJ 07860, USA" + }] +} diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war.xml" deleted file mode 100644 index 2cb66f0..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war.xml" +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/core/target - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war_exploded.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war_exploded.xml" deleted file mode 100644 index 9ffa33c..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/core_war_exploded.xml" +++ /dev/null @@ -1,16 +0,0 @@ - - - $PROJECT_DIR$/core/target/core - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war.xml" deleted file mode 100644 index 8887c74..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war.xml" +++ /dev/null @@ -1,8 +0,0 @@ - - - $PROJECT_DIR$/haikong-core/target - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war_exploded.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war_exploded.xml" deleted file mode 100644 index b2871a9..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/artifacts/haikong_core_war_exploded.xml" +++ /dev/null @@ -1,73 +0,0 @@ - - - $PROJECT_DIR$/haikong-core/target/core - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/compiler.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/compiler.xml" deleted file mode 100644 index 52045ca..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/compiler.xml" +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/copyright/profiles_settings.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/copyright/profiles_settings.xml" deleted file mode 100644 index e7bedf3..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/copyright/profiles_settings.xml" +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/encodings.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/encodings.xml" deleted file mode 100644 index 97626ba..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/encodings.xml" +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__cglib_cglib_3_2_2.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__cglib_cglib_3_2_2.xml" deleted file mode 100644 index 9e3d27a..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__cglib_cglib_3_2_2.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml" deleted file mode 100644 index a99867b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_druid_1_0_25.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml" deleted file mode 100644 index 974cfda..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_alibaba_fastjson_1_2_16.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml" deleted file mode 100644 index 727b8fe..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_fasterxml_classmate_1_1_0.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml" deleted file mode 100644 index eba478b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml" deleted file mode 100644 index 84bf18c..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_6.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_9.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_9.xml" deleted file mode 100644 index 1922b11..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_9.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml" deleted file mode 100644 index a66d039..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml" deleted file mode 100644 index eab40b3..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml" deleted file mode 100644 index 14681ee..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml" deleted file mode 100644 index 940ce73..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__junit_junit_4_10.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__junit_junit_4_10.xml" deleted file mode 100644 index ed8bf5f..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__junit_junit_4_10.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__log4j_log4j_1_2_17.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__log4j_log4j_1_2_17.xml" deleted file mode 100644 index e383c1b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__log4j_log4j_1_2_17.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml" deleted file mode 100644 index 18e6ec9..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml" deleted file mode 100644 index 1c71163..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_6_11.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml" deleted file mode 100644 index e41e7ba..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__ognl_ognl_3_1_3.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__ognl_ognl_3_1_3.xml" deleted file mode 100644 index d31c28c..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__ognl_ognl_3_1_3.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml" deleted file mode 100644 index 8cba3e1..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml" deleted file mode 100644 index 4a5c8b2..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml" deleted file mode 100644 index fdb7ead..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml" deleted file mode 100644 index 3a5aa19..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_4.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml" deleted file mode 100644 index c62d9a0..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_6.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml" deleted file mode 100644 index 61938e1..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_6.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_attoparser_attoparser_2_0_0_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_attoparser_attoparser_2_0_0_RELEASE.xml" deleted file mode 100644 index 03d0f91..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_attoparser_attoparser_2_0_0_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml" deleted file mode 100644 index acdf443..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml" deleted file mode 100644 index 6c5e17f..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml" deleted file mode 100644 index c21c9b0..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml" deleted file mode 100644 index ce63724..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_2_1_Final.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml" deleted file mode 100644 index 19d1175..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_3_4_1.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml" deleted file mode 100644 index 87a1f58..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_ehcache_1_0_0.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml" deleted file mode 100644 index bd108d5..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml" deleted file mode 100644 index 0bf8cf2..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml" deleted file mode 100644 index 1e67260..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml" deleted file mode 100644 index 65d0ae6..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml" deleted file mode 100644 index 4508a6b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_aop_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml" deleted file mode 100644 index d650bb8..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_beans_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml" deleted file mode 100644 index b497541..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml" deleted file mode 100644 index 0cc3aa4..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml" deleted file mode 100644 index aca549b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_core_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml" deleted file mode 100644 index e802cd8..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_expression_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml" deleted file mode 100644 index 7b6a300..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml" deleted file mode 100644 index 144d742..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_test_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml" deleted file mode 100644 index 0254b40..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_tx_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml" deleted file mode 100644 index 2b7b1d4..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_web_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml" deleted file mode 100644 index e4b70bb..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_2_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_1_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_1_RELEASE.xml" deleted file mode 100644 index 77c8939..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_1_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_3_0_1_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_3_0_1_RELEASE.xml" deleted file mode 100644 index 3fc9cbf..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring4_3_0_1_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_unbescape_unbescape_1_1_3_RELEASE.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_unbescape_unbescape_1_1_3_RELEASE.xml" deleted file mode 100644 index 59c8248..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__org_unbescape_unbescape_1_1_3_RELEASE.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml" deleted file mode 100644 index c36e717..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml" deleted file mode 100644 index 0f2d9ef..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml" deleted file mode 100644 index 6726a2d..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml" +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/misc.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/misc.xml" deleted file mode 100644 index 7a5122a..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/misc.xml" +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - C:\Users\牛李\AppData\Roaming\Subversion - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/modules.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/modules.xml" deleted file mode 100644 index 5397bb5..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/modules.xml" +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/uiDesigner.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/uiDesigner.xml" deleted file mode 100644 index e96534f..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/uiDesigner.xml" +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/workspace.xml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/workspace.xml" deleted file mode 100644 index 175ae16..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/.idea/workspace.xml" +++ /dev/null @@ -1,1105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1473164490238 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - core:war - - - - - - - - Spring - - - - - - - - app - - - - - - - - 1.8 - - - - - - - - haikong-core - - - - - - - - 1.8 - - - - - - - - Maven: com.alibaba:druid:1.0.25 - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/haikong-common.iml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/haikong-common.iml" deleted file mode 100644 index e095f89..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-common/haikong-common.iml" +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/haikong-core.iml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/haikong-core.iml" deleted file mode 100644 index df8066a..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/haikong-core.iml" +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - file://$MODULE_DIR$/src/main/resources/spring/applicationContext.xml - file://$MODULE_DIR$/src/main/resources/spring/dispatcher-servlet.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/webapp/index.jsp" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/webapp/index.jsp" deleted file mode 100644 index c38169b..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-core/src/main/webapp/index.jsp" +++ /dev/null @@ -1,5 +0,0 @@ - - -

Hello World!

- - diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-switch/haikong-switch.iml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-switch/haikong-switch.iml" deleted file mode 100644 index 9e36fcd..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/haikong-switch/haikong-switch.iml" +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/\345\276\256\344\277\241\346\234\215\345\212\241\347\253\257.iml" "b/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/\345\276\256\344\277\241\346\234\215\345\212\241\347\253\257.iml" deleted file mode 100644 index 602908c..0000000 --- "a/maven\345\244\232\346\250\241\345\235\227\351\241\271\347\233\256/\345\276\256\344\277\241\346\234\215\345\212\241\347\253\257.iml" +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file