Skip to content

Commit

Permalink
feat:增加elasticsearch示例工程
Browse files Browse the repository at this point in the history
  • Loading branch information
mengjuhua committed Sep 4, 2024
1 parent 71e5f16 commit 8c01988
Show file tree
Hide file tree
Showing 6 changed files with 416 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package net.risesoft;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(RisenetY9demoElkApplication.class);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
package net.risesoft.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import net.risesoft.elastic.entity.User;
import net.risesoft.id.Y9IdGenerator;
import net.risesoft.pojo.Y9Result;
import net.risesoft.service.UserService;

/**
* 描述:控制层
*/
@Controller
@RequestMapping("/")
public class UserController {

@Autowired
private UserService userService;

/**
* 获取最新一条数据
*
* @param model
* @return
*/
@RequestMapping("/index")
public String index(Model model) {
// 插入测试数据
Iterable<User> list = userService.findAll();
if (!list.iterator().hasNext()) {
User user = new User();
user.setId(Y9IdGenerator.genId());
user.setAge(10);
user.setBirth("2018-11-02");
user.setCreateTime("2018-11-02");
user.setEducation("大学");
user.setFileId("");
user.setMobile("11111111");
user.setName("Tony");
user.setSex("男");
userService.save(user);

User user2 = new User();
user2.setId(Y9IdGenerator.genId());
user2.setAge(18);
user2.setBirth("2018-11-02");
user2.setCreateTime("2018-11-02");
user2.setEducation("大学");
user2.setFileId("");
user2.setMobile("11111111");
user2.setName("sun");
user2.setSex("男");
userService.save(user2);
}
return "index.html";
}

@PostMapping("/saveUser")
@ResponseBody
public Y9Result<User> saveUser(User user) {
User newUser = userService.saveOrUpdate(user);
return Y9Result.success(newUser);
}

/**
* 描述:删除
*/
@PostMapping(value = "/deleteById")
@ResponseBody
public Y9Result<Object> deleteById(String id) {
userService.deleteById(id);
return Y9Result.success();
}

@GetMapping("/page")
@ResponseBody
public Page<User> page(String name, String mobile, Integer page, Integer limit, Model model) {
// 插入测试数据
Iterable<User> list = userService.findAll();
if (!list.iterator().hasNext()) {
User user = new User();
user.setId(Y9IdGenerator.genId());
user.setAge(18);
user.setBirth("2018-11-08");
user.setCreateTime("2018-11-08");
user.setEducation("大学");
user.setFileId("");
user.setMobile("11111111");
user.setName("sun");
user.setSex("男");
user = userService.save(user);
}
return userService.search(name, mobile, page, limit);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
package net.risesoft.elastic.entity;

import java.io.Serializable;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
* 描述:人员
*/
@Document(indexName = "risesoftdemouser")
public class User implements Serializable {

private static final long serialVersionUID = 5938370940741691627L;

/**
* 主键
*/
@Id
private String id;

/**
* 名称
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String name;

/**
* 年龄
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private Integer age;

/**
* 性别
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String sex;

/**
* 出生年月
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String birth;

/**
* 教育
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String education;

/**
* 电话
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String mobile;

/**
* 文件系统id
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String fileId;

/**
* 创建时间
*/
@Field(type = FieldType.Keyword, index = true, store = true)
private String createTime;

public String getId() {
return this.id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}

public Integer getAge() {
return this.age;
}

public void setAge(Integer age) {
this.age = age;
}

public String getSex() {
return this.sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getBirth() {
return this.birth;
}

public void setBirth(String birth) {
this.birth = birth;
}

public String getEducation() {
return this.education;
}

public void setEducation(String education) {
this.education = education;
}

public String getMobile() {
return this.mobile;
}

public void setMobile(String mobile) {
this.mobile = mobile;
}

public String getCreateTime() {
return createTime;
}

public void setCreateTime(String createTime) {
this.createTime = createTime;
}

public String getFileId() {
return fileId;
}

public void setFileId(String fileId) {
this.fileId = fileId;
}

@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + ", birth=" + birth
+ ", education=" + education + ", mobile=" + mobile + ", fileId=" + fileId + ", createTime=" + createTime
+ "]";
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package net.risesoft.elastic.repository;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import net.risesoft.elastic.entity.User;

/**
* 描述:人员 Repository接口
*/
public interface UserRepository extends ElasticsearchRepository<User, String> {

Page<User> findByNameContainingAndSexContaining(String name, String sex, Pageable page);

User findTopByOrderByIdDesc();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package net.risesoft.service;

import org.springframework.data.domain.Page;

import net.risesoft.elastic.entity.User;

/**
* 描述:人员 服务接口
*/
public interface UserService {

User findById(String id);

void deleteById(String id);

User saveOrUpdate(User user);

User save(User user);

Iterable<User> findAll();

User findTopByOrderByIdDesc();

Page<User> search(String name, String mobile, Integer page, Integer rows);
}
Loading

0 comments on commit 8c01988

Please sign in to comment.