diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..184e44c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..185614f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/zw_test01.iml b/.idea/zw_test01.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/zw_test01.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/ZwDemoSpringBoot/.gitignore b/ZwDemoSpringBoot/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/ZwDemoSpringBoot/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/ZwDemoSpringBoot/pom.xml b/ZwDemoSpringBoot/pom.xml new file mode 100644 index 0000000..c030de6 --- /dev/null +++ b/ZwDemoSpringBoot/pom.xml @@ -0,0 +1,126 @@ + + + 4.0.0 + com.zw + ZwDemoSpringBoot + 0.0.1-SNAPSHOT + ZwDemoSpringBoot + ZwDemoSpringBoot + + 1.8 + UTF-8 + UTF-8 + 2.6.13 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.baomidou + mybatis-plus-boot-starter + 3.5.6 + + + com.baomidou + mybatis-plus + 3.5.6 + compile + + + org.mybatis + mybatis-spring + 2.1.2 + compile + + + com.baomidou + mybatis-plus-spring-boot-autoconfigure + 3.5.6 + compile + + + org.springframework.boot + spring-boot-autoconfigure + compile + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + com.zw.zwdemospringboot.ZwDemoSpringBootApplication + true + + + + repackage + + repackage + + + + + + + + diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplication.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplication.java new file mode 100644 index 0000000..f2b70e4 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplication.java @@ -0,0 +1,14 @@ +package com.zw.zwdemospringboot; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +public class ZwDemoSpringBootApplication { + + public static void main(String[] args) { + SpringApplication.run(ZwDemoSpringBootApplication.class, args); + } + +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/BasicController.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/BasicController.java new file mode 100644 index 0000000..4cbc7b2 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/BasicController.java @@ -0,0 +1,68 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.zw.zwdemospringboot.controller; + +import com.zw.zwdemospringboot.entity.User; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class BasicController { + + // http://127.0.0.1:8080/hello?name=lisi + @RequestMapping("/hello") + @ResponseBody + public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) { + return "Hello " + name; + } + + // http://127.0.0.1:8080/user + @RequestMapping("/user") + @ResponseBody + public User user() { + User user = new User(); + user.setName("theonefx"); + user.setAge(666); + return user; + } + + // http://127.0.0.1:8080/save_user?name=newName&age=11 + @RequestMapping("/save_user") + @ResponseBody + public String saveUser(User u) { + return "user will save: name=" + u.getName() + ", age=" + u.getAge(); + } + + // http://127.0.0.1:8080/html + @RequestMapping("/html") + public String html(){ + return "index.html"; + } + + @ModelAttribute + public void parseUser(@RequestParam(name = "name", defaultValue = "unknown user") String name + , @RequestParam(name = "age", defaultValue = "12") Integer age, User user) { + user.setName("zhangsan"); + user.setAge(18); + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/PathVariableController.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/PathVariableController.java new file mode 100644 index 0000000..309f908 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/PathVariableController.java @@ -0,0 +1,44 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.zw.zwdemospringboot.controller; + +import org.springframework.stereotype.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.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class PathVariableController { + + // http://127.0.0.1:8080/user/123/roles/222 + @RequestMapping(value = "/user/{userId}/roles/{roleId}", method = RequestMethod.GET) + @ResponseBody + public String getLogin(@PathVariable("userId") String userId, @PathVariable("roleId") String roleId) { + return "User Id : " + userId + " Role Id : " + roleId; + } + + // http://127.0.0.1:8080/javabeat/somewords + @RequestMapping(value = "/javabeat/{regexp1:[a-z-]+}", method = RequestMethod.GET) + @ResponseBody + public String getRegExp(@PathVariable("regexp1") String regexp1) { + return "URI Part : " + regexp1; + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest1.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest1.java new file mode 100644 index 0000000..08bbadf --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest1.java @@ -0,0 +1,24 @@ +package com.zw.zwdemospringboot.controller; + +import com.zw.zwdemospringboot.service.Person; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; + +public class StreamTest1 { + public static void main(String[] args) { + List list1 = Arrays.asList("aaa", "abc", "avvc", "adddd", "edw", "dswe", "sdf", "sd"); + List list2 = Arrays.asList("bdd", "sfdsf", "efv", "yttb", "gdf", "jmh", "cvb", "dfg"); + + Stream s1 = list1.stream().filter(s -> { + return s.length() == 3; + }).limit(3); + Stream s2 = list2.stream().filter(s -> s.startsWith("d")).skip(2); + + //Stream.concat(s1,s2).map(n -> new Person(n)).forEach(System.out::println); + //Stream.concat(s1,s2).map(Person::new).forEach(System.out::println); + + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest2.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest2.java new file mode 100644 index 0000000..a2d15fc --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/StreamTest2.java @@ -0,0 +1,34 @@ +package com.zw.zwdemospringboot.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Stream; + +public class StreamTest2 { + public static void main(String[] args) { +// List c1 = Stream.of("aa", "bb", "cc").collect(Collectors.toList()); +// System.out.println(c1); +// +// Set c2 = Stream.of("cc", "dd", "ee","cc").collect(Collectors.toSet()); +// System.out.println(c2); +// +// ArrayList c3 = Stream.of("cc", "dd", "ee", "cc") +// //.collect(Collectors.toCollection(() -> new ArrayList<>())); +// .collect(Collectors.toCollection(ArrayList::new)); +// System.out.println(c3); +// +// HashSet s4 = Stream.of("cc", "dd", "ee", "cc").collect(Collectors.toCollection(HashSet::new)); +// System.out.println(s4); + + Object[] s5 = Stream.of("cc", "dd", "ee", "cc") + .toArray(); + System.out.println(s5); + + + Stream.of("11", "22", "22", "33").mapToInt(Integer::parseInt).toArray(); + +// Integer[] array1 = Stream.of("11", "22", "22", "33").toArray(Integer[]::new); +// System.out.println(array1); + + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/UserController.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/UserController.java new file mode 100644 index 0000000..bbf46b8 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/UserController.java @@ -0,0 +1,19 @@ +package com.zw.zwdemospringboot.controller; + +import com.zw.zwdemospringboot.entity.ZwUser; +import com.zw.zwdemospringboot.service.ZwUserService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequiredArgsConstructor +public class UserController { + @Autowired + private ZwUserService zwUserService; + + @GetMapping("/getId") + public ZwUser hello(@RequestParam(name = "id") Integer id) { + return zwUserService.getComboById(id); + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/ZwTestController.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/ZwTestController.java new file mode 100644 index 0000000..c4fe898 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/controller/ZwTestController.java @@ -0,0 +1,109 @@ +package com.zw.zwdemospringboot.controller; + +import com.zw.zwdemospringboot.service.*; + +import java.io.PrintStream; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class ZwTestController { + + public static void main(String arg[]){ + /*pringString(s-> System.out.println(s)); + + pringString(System.out::println); + + PrintStream out = System.out; + pringString(out::print);*/ + +// int n = method(-10, a -> Math.abs(a)); +// System.out.println(n); +// +// int num = method(-20, Math::abs); +// System.out.println(num); + //构造器引用 +// printName("aaa", name->new Person(name)); +// +// printName("bbb", Person::new); + + //普通方法引用 + /*pringString(s->{ + Method method = new Method(); + method.printUpp(s); + } ); + + Method method = new Method(); + pringString(method::printUpp);*/ + + +// Stream stream = Stream.of("1", "2", "3", "4"); +// stream.map(s -> Integer.parseInt(s)).forEach(System.out::println); +// +// ArrayList list = new ArrayList<>(); +// list.add("aaa"); +// list.add("avd"); +// list.add("addd"); +// list.add("fdsf"); +// list.add("fdsss"); +// +// List a = list.stream().filter(s -> s.startsWith("a")).collect(Collectors.toList()); +// System.out.println(a); +// +// HashSet hs = new HashSet<>(); +// hs.add(10); +// hs.add(20); +// hs.add(30); +// hs.add(40); +// hs.add(50); +// +// Stream integerStream = hs.stream().filter(age -> age > 25); +// Set ages = integerStream.collect(Collectors.toSet()); +// for (Integer i : ages) { +// System.out.println(i); +// } +// +// String[] strArray = {"aaa,30", "bbb,40", "ccc,50", "ddd,60"}; +// Stream stream1 = Stream.of(strArray) +// .filter(s -> Integer.parseInt(s.split(",")[1]) > 28); +// Map map = stream1.collect(Collectors.toMap( +// s -> s.split(",")[0], +// s -> Integer.parseInt(s.split(",")[1]) +// )); +// +// Set keySet = map.keySet(); +// for (String s:keySet){ +// System.out.println(s+","+map.get(s)); +// } + + + Integer[] arr ={1,2,3,4,5}; + Stream stream = Arrays.stream(arr); + List list = Arrays.asList(arr); + //Stream.of(arr).filter(s->s>0).forEach(System.out::println); + + Stream.of(arr).mapToInt(Integer::intValue).filter(i->i>3).forEach(System.out::println); + + Stream stream1 = Stream.of("a","b","c"); + Stream stream2 = Stream.of("x", "y", "z"); + Stream.concat(stream1, stream2).forEach(System.out::println); + + + } + + public static void pringString(Printable p) { + p.print("hihihi!"); + } + + public static int method(int number, Calcable c) { + return c.calsAbs(number); + } + + public static void printName(String name, PersonBuilder pb) { + Person person = pb.builder(name); + System.out.println(person.getName()); + } + +} + + diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/User.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/User.java new file mode 100644 index 0000000..b9a2fbb --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/User.java @@ -0,0 +1,43 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.zw.zwdemospringboot.entity; + +/** + * @author theonefx + */ +public class User { + + private String name; + + private Integer age; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/ZwUser.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/ZwUser.java new file mode 100644 index 0000000..f0863ce --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/entity/ZwUser.java @@ -0,0 +1,14 @@ +package com.zw.zwdemospringboot.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("zw_user") +public class ZwUser { + private Integer id; + + private String userName; + + private Integer age; +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/mapper/ZwUserMapper.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/mapper/ZwUserMapper.java new file mode 100644 index 0000000..ff5c48f --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/mapper/ZwUserMapper.java @@ -0,0 +1,18 @@ +package com.zw.zwdemospringboot.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zw.zwdemospringboot.entity.ZwUser; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ZwUserMapper { + Boolean saveCombo(ZwUser dto); + + Boolean updateCombo(ZwUser dto); + + Page pageComboVo(ZwUser dto); + + ZwUser getComboById(Integer id); + + Boolean removeComboById(Integer id); +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Calcable.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Calcable.java new file mode 100644 index 0000000..47e251e --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Calcable.java @@ -0,0 +1,5 @@ +package com.zw.zwdemospringboot.service; + +public interface Calcable { + int calsAbs(int number); +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Method.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Method.java new file mode 100644 index 0000000..553a0c7 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Method.java @@ -0,0 +1,8 @@ +package com.zw.zwdemospringboot.service; + +public class Method { + public int printUpp(String str){ + System.out.println(str.toUpperCase()); + return 0; + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Person.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Person.java new file mode 100644 index 0000000..45ceff7 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Person.java @@ -0,0 +1,40 @@ +package com.zw.zwdemospringboot.service; + +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +public class Person { + private String name; + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + private Integer age; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Person(String name, Integer age) { + this.name = name; + this.age = age; + } + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/PersonBuilder.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/PersonBuilder.java new file mode 100644 index 0000000..afc868e --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/PersonBuilder.java @@ -0,0 +1,5 @@ +package com.zw.zwdemospringboot.service; + +public interface PersonBuilder { + Person builder(String name); +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Printable.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Printable.java new file mode 100644 index 0000000..5b9dac1 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/Printable.java @@ -0,0 +1,8 @@ +package com.zw.zwdemospringboot.service; + + +public interface Printable { + void print(String s); +} + + diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserService.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserService.java new file mode 100644 index 0000000..ce6cbb2 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserService.java @@ -0,0 +1,22 @@ +package com.zw.zwdemospringboot.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.zw.zwdemospringboot.entity.ZwUser; + +import java.util.List; +import java.util.Map; + +public interface ZwUserService { + + Boolean saveCombo(ZwUser dto); + + Boolean updateCombo(ZwUser dto); + + Page pageComboVo(ZwUser dto); + + ZwUser getComboById(Integer id); + + Boolean removeComboById(Integer id); + +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserServiceImpl.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserServiceImpl.java new file mode 100644 index 0000000..b7ce1c4 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/ZwUserServiceImpl.java @@ -0,0 +1,56 @@ +package com.zw.zwdemospringboot.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper; +import com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper; +import com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zw.zwdemospringboot.entity.ZwUser; +import com.zw.zwdemospringboot.mapper.ZwUserMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; + +@Service +public class ZwUserServiceImpl implements ZwUserService { + + @Autowired + private ZwUserMapper zwUserMapper; + @Override + public Boolean saveCombo(ZwUser dto) { + return null; + } + + @Override + public Boolean updateCombo(ZwUser dto) { + return null; + } + + @Override + public Page pageComboVo(ZwUser dto) { + return null; + } + + @Override + public ZwUser getComboById(Integer id) { + + return zwUserMapper.getComboById(id); + } + + @Override + public Boolean removeComboById(Integer id) { + return null; + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Greetable.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Greetable.java new file mode 100644 index 0000000..13b609a --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Greetable.java @@ -0,0 +1,5 @@ +package com.zw.zwdemospringboot.service.father; + +public interface Greetable { + void greet(); +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Human.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Human.java new file mode 100644 index 0000000..b6b390d --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Human.java @@ -0,0 +1,9 @@ +package com.zw.zwdemospringboot.service.father; + +public class Human { + public void say(){ + System.out.println("i am father!"); + } + + +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Man.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Man.java new file mode 100644 index 0000000..ff5e7b4 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/Man.java @@ -0,0 +1,23 @@ +package com.zw.zwdemospringboot.service.father; + +public class Man extends Human{ + public void say(){ + System.out.println("i am man!"); + } + + public void method(Greetable g){ + g.greet(); + } + + public void show(){ + method(()->{ + Human human = new Human(); + human.say(); + }); + + method(()->{super.say();}); + method(super::say); + } + + +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/SuperMethodRe.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/SuperMethodRe.java new file mode 100644 index 0000000..eb74212 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/father/SuperMethodRe.java @@ -0,0 +1,8 @@ +package com.zw.zwdemospringboot.service.father; + +public class SuperMethodRe { + public static void main(String[] args) { + Man man = new Man(); + man.show(); + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Husband.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Husband.java new file mode 100644 index 0000000..eacc2a6 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Husband.java @@ -0,0 +1,17 @@ +package com.zw.zwdemospringboot.service.son; + +public class Husband { + public void buyHouse(){ + System.out.println("buy it!"); + } + + public void marry(Rich r){ + r.buy(); + } + + public void soHappy(){ + marry(()->this.buyHouse()); + + marry(this::buyHouse); + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/MethBuy.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/MethBuy.java new file mode 100644 index 0000000..52f88ee --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/MethBuy.java @@ -0,0 +1,7 @@ +package com.zw.zwdemospringboot.service.son; + +public class MethBuy { + public static void main(String[] args) { + new Husband().soHappy(); + } +} diff --git a/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Rich.java b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Rich.java new file mode 100644 index 0000000..a15d54e --- /dev/null +++ b/ZwDemoSpringBoot/src/main/java/com/zw/zwdemospringboot/service/son/Rich.java @@ -0,0 +1,5 @@ +package com.zw.zwdemospringboot.service.son; + +public interface Rich { + void buy(); +} diff --git a/ZwDemoSpringBoot/src/main/resources/application.yml b/ZwDemoSpringBoot/src/main/resources/application.yml new file mode 100644 index 0000000..0fec954 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/resources/application.yml @@ -0,0 +1,16 @@ +server: + port: 8081 +spring: + datasource: + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://192.168.2.223:3306/zw_database?useUnicode=true&characterEncoding=utf-8&serverTimezone=America/New_York + username: mepsking + password: Meps@2099fpv + hikari: + minimum-idle: 3 + maximum-pool-size: 5 + auto-commit: true + idle-timeout: 30000 + pool-name: HikariCP_star + max-lifetime: 1800000 + connection-timeout: 30000 diff --git a/ZwDemoSpringBoot/src/main/resources/mapper/ZwUserMapper.xml b/ZwDemoSpringBoot/src/main/resources/mapper/ZwUserMapper.xml new file mode 100644 index 0000000..d6b5019 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/resources/mapper/ZwUserMapper.xml @@ -0,0 +1,33 @@ + + + + + + SELECT id, + user_name, + age + FROM zw_user + + + + + + + + + \ No newline at end of file diff --git a/ZwDemoSpringBoot/src/main/resources/static/index.html b/ZwDemoSpringBoot/src/main/resources/static/index.html new file mode 100644 index 0000000..e2d94a2 --- /dev/null +++ b/ZwDemoSpringBoot/src/main/resources/static/index.html @@ -0,0 +1,6 @@ + + +

hello word!!!

+

this is a html page

+ + \ No newline at end of file diff --git a/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/InstantTest.java b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/InstantTest.java new file mode 100644 index 0000000..18ea3cd --- /dev/null +++ b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/InstantTest.java @@ -0,0 +1,63 @@ +package com.zw.zwdemospringboot; + +import com.zw.zwdemospringboot.service.Person; +import org.junit.jupiter.api.Test; + +import java.time.*; + +public class InstantTest { + @Test + public void test1(){ + + Instant now = Instant.now(); + Instant now1 = Instant.now(); + //System.out.println(nano); + try { + Thread.sleep(5); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + Instant now2 = Instant.now(); + System.out.println(now2.getNano() - now.getNano()); + + + } + + @Test + public void test2(){ + LocalTime now = LocalTime.now(); + LocalTime time = LocalTime.of(21, 12, 33); + + System.out.println(now); + System.out.println(time); + //时间差 + Duration duration = Duration.between(now, time); + System.out.println(duration.toDays()); + System.out.println(duration.toHours()); + System.out.println(duration.toMinutes()); + + //日期差 + LocalDate nowDate = LocalDate.now(); + LocalDate date = LocalDate.of(1997, 2, 5); + + Period period = Period.between(date,nowDate); + System.out.println(period.getYears()); + System.out.println(period.getMonths()); + System.out.println(period.getDays()); + + + } + + @Test + public void test3(){ + //ZoneId.getAvailableZoneIds().forEach(System.out::println); + LocalDateTime now = LocalDateTime.now(); + System.out.println("now = " + now); + + ZonedDateTime bz = ZonedDateTime.now(Clock.systemUTC()); + System.out.println("bz = " + bz); + + ZonedDateTime now1 = ZonedDateTime.now(); + System.out.println("now1 = " + now1); + } +} diff --git a/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/OptionalTest1.java b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/OptionalTest1.java new file mode 100644 index 0000000..5d2feae --- /dev/null +++ b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/OptionalTest1.java @@ -0,0 +1,27 @@ +package com.zw.zwdemospringboot; + +import com.zw.zwdemospringboot.service.Person; +import org.junit.jupiter.api.Test; + +import java.util.Optional; + +public class OptionalTest1 { + @Test + public void test1(){ + Person tom = new Person("tom", 19); + Optional tom1 = Optional.of(tom); + String name = getNameForOp(tom1); + System.out.println(name); + } + + public String getNameForOp(Optional op){ + if (op.isPresent()){ + String msg = op.map(Person::getName) + //.map(n -> n.toUpperCase()) + .map(String::toUpperCase) + .orElse(null); + return msg; + } + return null; + } +} diff --git a/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/StreamTest1.java b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/StreamTest1.java new file mode 100644 index 0000000..f5e9931 --- /dev/null +++ b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/StreamTest1.java @@ -0,0 +1,44 @@ +package com.zw.zwdemospringboot; + +import com.zw.zwdemospringboot.service.Person; +import org.junit.jupiter.api.Test; + +import java.util.IntSummaryStatistics; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class StreamTest1 { + @Test + public void test01(){ + Optional maxAge = Stream.of( + new Person("tom", 18), + new Person("jack", 19), + new Person("jim", 20), + new Person("tony", 21), + new Person("anny", 22)) + .collect(Collectors.maxBy((p1, p2) -> { + return p1.getAge() - p2.getAge(); + })); + System.out.println(maxAge.get()); + + IntSummaryStatistics sumAge = Stream.of( + new Person("tom", 18), + new Person("jack", 19), + new Person("jim", 20), + new Person("tony", 21), + new Person("anny", 22)) + .collect(Collectors.summarizingInt(s -> s.getAge())); + System.out.println(sumAge.getSum()); + + Double avg = Stream.of( + new Person("tom", 18), + new Person("jack", 19), + new Person("jim", 20), + new Person("tony", 21), + new Person("anny", 22)) + .collect(Collectors.averagingInt(Person::getAge)); + System.out.println(avg); + + } +} diff --git a/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplicationTests.java b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplicationTests.java new file mode 100644 index 0000000..adf41f2 --- /dev/null +++ b/ZwDemoSpringBoot/src/test/java/com/zw/zwdemospringboot/ZwDemoSpringBootApplicationTests.java @@ -0,0 +1,13 @@ +package com.zw.zwdemospringboot; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ZwDemoSpringBootApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/test1.txt b/test1.txt deleted file mode 100644 index e5b6358..0000000 --- a/test1.txt +++ /dev/null @@ -1,3 +0,0 @@ -123 -3333 -add mytest