@RestController @CrossOrigin("*") @RequestMapping("/student") public class StudentController { @Autowired private StudentService studentService; @PostMapping("/addStudent") public boolean addStudent(@RequestBody Student student) { System.out.println("正在保存学生对象" + student); return studentService.save(student); } @PostMapping("/login") public boolean login(@RequestBody Student student) { System.out.println("正在验证学生登陆 " + student); Student s = studentService.findById(student.getSid()); if (s == null || !s.getPassword().equals(student.getPassword())) { return false; } else { return true; } } @PostMapping("/findBySearch") public List<Student> findBySearch(@RequestBody Student student) { Integer fuzzy = (student.getPassword() == null) ? 0 : 1; return studentService.findBySearch(student.getSid(), student.getSname(), fuzzy); } @GetMapping("/findById/{sid}") public Student findById(@PathVariable("sid") Integer sid) { System.out.println("正在查询学生信息 By id " + sid); return studentService.findById(sid); } @GetMapping("/findByPage/{page}/{size}") public List<Student> findByPage(@PathVariable("page") int page, @PathVariable("size") int size) { System.out.println("查询学生列表分页 " + page + " " + size); return studentService.findByPage(page, size); } @GetMapping("/getLength") public Integer getLength() { return studentService.getLength(); } @GetMapping("/deleteById/{sid}") public boolean deleteById(@PathVariable("sid") int sid) { System.out.println("正在删除学生 sid:" + sid); return studentService.deleteById(sid); } @PostMapping("/updateStudent") public boolean updateStudent(@RequestBody Student student) { System.out.println("更新 " + student); return studentService.updateById(student); } }
时间: 2023-06-25 22:03:14 浏览: 106
这是一个使用 Spring Boot 框架进行开发的 Restful API,提供了对学生信息的增删改查等功能。其中使用了注解 @RestController 表示这是一个控制器类,使用了 @CrossOrigin("*") 允许跨域访问,在类级别上使用了 @RequestMapping("/student") 表示所有请求都需要以 /student 开头。在方法级别上使用了 @PostMapping、@GetMapping 等注解表示不同的 HTTP 请求方法。方法中使用了 @RequestBody、@PathVariable 等注解解析请求中的参数,其中 @RequestBody 表示请求体中的数据会被反序列化成对应的 Java 对象,@PathVariable 表示将请求中的 URL 参数绑定到方法参数中。在方法中还使用了 @Autowired 注解自动装配 StudentService 对象。
相关问题
使用jdbctemplate + spring+sprinfMvc简单实现学生表student的增删改查
使用JdbcTemplate结合Spring和Spring MVC可以更加方便地实现学生表student的增删改查。以下是一个简单的示例,演示如何使用JdbcTemplate、Spring和Spring MVC实现学生表的增删改查。
首先,你需要按照上述提到的步骤配置数据库连接和创建`Student`类。
接下来,你可以创建一个`StudentController`类来处理学生表的增删改查请求:
```java
@Controller
@RequestMapping("/student")
public class StudentController {
@Autowired
private StudentService studentService;
@GetMapping("/list")
public String getAllStudents(Model model) {
List<Student> students = studentService.getAllStudents();
model.addAttribute("students", students);
return "studentList";
}
@GetMapping("/{id}")
public String getStudentById(@PathVariable int id, Model model) {
Student student = studentService.getStudentById(id);
model.addAttribute("student", student);
return "studentDetail";
}
@GetMapping("/add")
public String showAddForm(Model model) {
Student student = new Student();
model.addAttribute("student", student);
return "addStudentForm";
}
@PostMapping("/add")
public String addStudent(@ModelAttribute("student") Student student) {
studentService.addStudent(student);
return "redirect:/student/list";
}
@GetMapping("/{id}/edit")
public String showEditForm(@PathVariable int id, Model model) {
Student student = studentService.getStudentById(id);
model.addAttribute("student", student);
return "editStudentForm";
}
@PostMapping("/{id}/edit")
public String updateStudent(@PathVariable int id, @ModelAttribute("student") Student student) {
student.setId(id);
studentService.updateStudent(student);
return "redirect:/student/list";
}
@GetMapping("/{id}/delete")
public String deleteStudent(@PathVariable int id) {
studentService.deleteStudent(id);
return "redirect:/student/list";
}
}
```
在上述代码中,`StudentController`类使用`StudentService`来处理学生表的增删改查操作,并通过Spring MVC的注解来定义不同的请求处理方法。
接下来,你可以创建一个`StudentService`类来实现学生表的增删改查逻辑:
```java
@Service
public class StudentService {
@Autowired
private StudentDao studentDao;
public List<Student> getAllStudents() {
return studentDao.getAllStudents();
}
public Student getStudentById(int id) {
return studentDao.getStudentById(id);
}
public void addStudent(Student student) {
studentDao.addStudent(student);
}
public void updateStudent(Student student) {
studentDao.updateStudent(student);
}
public void deleteStudent(int id) {
studentDao.deleteStudent(id);
}
}
```
在上述代码中,`StudentService`类调用`StudentDao`接口中定义的方法来实现学生表的增删改查操作。
最后,你可以使用Spring的配置文件来配置JdbcTemplate和其他相关的组件。假设你使用的是XML配置方式,你可以创建一个名为`applicationContext.xml`的配置文件,并添加以下配置:
```xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
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">
<!-- 配置数据库连接 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/db_name" />
<property name="username" value="db_username" />
<property name="password" value="db_password" />
</bean>
<!-- 配置JdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 扫描注解 -->
<context:component-scan base-package="com.example.yourpackage" />
</beans>
```
在上述配置中,你需要将`com.example.yourpackage`替换为你实际的包名。
以上是一个简单的示例,你可以根据你的实际需求进行适当的修改和扩展。希望对你有所帮助!
springboot高校工作室管理系统演示的代码
Spring Boot 高校工作室管理系统是一个基于 Spring Boot 框架构建的应用,它通常会包含用户管理、课程管理、项目管理等模块,用于模拟高等教育机构的工作室管理场景。由于这是一个完整的应用示例,涉及到的具体代码可能包括:
1. **启动类**(如`Application.java`):通过@EnableAutoConfiguration启用自动配置,并设置主程序入口。
```java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
2. **实体类**(如`Student.java`, `Course.java`):用于表示用户、课程等实体的数据模型。
```java
@Entity
public class Student {
@Id
private Long id;
private String name;
// getters and setters
}
```
3. **服务层**(如`StudentService.java`):处理业务逻辑的方法,如添加学生、查询学生信息。
```java
@Service
public class StudentService {
@Autowired
private StudentRepository studentRepository;
public void addStudent(Student student) {
studentRepository.save(student);
}
public List<Student> getAllStudents() {
return studentRepository.findAll();
}
}
```
4. **控制器层**(如`UserController.java`):接收前端请求,调用服务层的方法并返回响应。
```java
@RestController
@RequestMapping("/api/students")
public class UserController {
@Autowired
private StudentService studentService;
@PostMapping
public ResponseEntity<?> createStudent(@RequestBody Student student) {
studentService.addStudent(student);
return ResponseEntity.ok().build();
}
@GetMapping
public ResponseEntity<List<Student>> getAllStudents() {
return ResponseEntity.ok(studentService.getAllStudents());
}
}
```
这只是简化的例子,实际项目会有更复杂的权限控制、数据验证、数据库操作、分页等功能,以及前端页面的展示部分。具体的代码你可以从Spring Boot官方文档或在线教程找到实例参考。