ibatis 插入后返回自增主键

 

 

http://www.iteye.com/topic/215571

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是你所需的代码。 Student.java: ```java public class Student { private int id; private String name; private int age; private int classId; private String sex; private int score; public Student(int id, String name, int age, int classId, String sex, int score) { this.id = id; this.name = name; this.age = age; this.classId = classId; this.sex = sex; this.score = score; } // Getters and setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getClassId() { return classId; } public void setClassId(int classId) { this.classId = classId; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } } ``` Main.java: ```java import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Student> students = Arrays.asList( new Student(1, "Alice", 20, 1, "F", 90), new Student(2, "Bob", 18, 1, "M", 85), new Student(3, "Charlie", 19, 2, "M", 95), new Student(4, "David", 22, 2, "M", 88), new Student(5, "Eve", 21, 3, "F", 92) ); // 1. 返回仅age为偶数的Student列表 List<Student> evenAgeStudents = students.stream() .filter(student -> student.getAge() % 2 == 0) .collect(Collectors.toList()); System.out.println("Even age students: " + evenAgeStudents); // 2. 按score降序排列,仅返回前三个Student List<Student> topThreeStudents = students.stream() .sorted((s1, s2) -> s2.getScore() - s1.getScore()) .limit(3) .collect(Collectors.toList()); System.out.println("Top three students: " + topThreeStudents); // 3. 按照classId分组,返回Map<Integer,List<Student>>班级分组数据 Map<Integer, List<Student>> classIdToStudentsMap = students.stream() .collect(Collectors.groupingBy(Student::getClassId)); System.out.println("ClassId to students map: " + classIdToStudentsMap); // 使用反射获取Student类所有构造方法、成员方法、成员变量 Class<Student> studentClass = Student.class; Constructor<?>[] constructors = studentClass.getConstructors(); System.out.println("Constructors: " + Arrays.toString(constructors)); Method[] methods = studentClass.getMethods(); System.out.println("Methods: " + Arrays.toString(methods)); Field[] fields = studentClass.getDeclaredFields(); System.out.println("Fields: " + Arrays.toString(fields)); } } ``` 对于Spring Boot和MyBatis的部分,这里提供代码框架,你可以根据你的具体需求进行完善。 StudentMapper.java: ```java import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper public interface StudentMapper { List<Student> getAllStudents(); Student getStudentById(int id); void insertStudent(Student student); void updateStudent(Student student); void deleteStudent(int id); } ``` StudentController.java: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/students") public class StudentController { @Autowired private StudentMapper studentMapper; @GetMapping("/") public List<Student> getAllStudents() { return studentMapper.getAllStudents(); } @GetMapping("/{id}") public Student getStudentById(@PathVariable int id) { return studentMapper.getStudentById(id); } @PostMapping("/") public void insertStudent(@RequestBody Student student) { studentMapper.insertStudent(student); } @PutMapping("/") public void updateStudent(@RequestBody Student student) { studentMapper.updateStudent(student); } @DeleteMapping("/{id}") public void deleteStudent(@PathVariable int id) { studentMapper.deleteStudent(id); } } ``` StudentApplication.java: ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class StudentApplication { public static void main(String[] args) { SpringApplication.run(StudentApplication.class, args); } } ``` 这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。关于拦截器打印每个接口用时的部分,你可以创建一个实现了HandlerInterceptor接口的拦截器类,并在其中实现相应的逻辑。 这里只提供了代码框架,具体的实现需要根据你的项目需求进行完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值