mybatis测试
测试项目结构
com.example.demo
├── controller
│ └── UserController.java
├── service
│ └── UserService.java
├── mapper
│ └── UserMapper.java
├── entity
│ └── User.java
└── DemoApplication.java
UserController是测试类 spring直接调用, 其它需要3个类. controller调用service类, service调用mapper, mapper里面含sql信息(可以类中写, 也可以在resources/mapper/*.xml中写), 实体类User, 存放字段信息
service类可以省, 但不推荐, 省后的OrdeController例子
public class OrderController { private final OrderMapper orderMapper; public OrderController(OrderMapper orderMapper) { this.orderMapper = orderMapper; } @GetMapping public List<Order> getAll() { return orderMapper.selectAll(); } }
DemoApplication.java
package com.example.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
UserController.java
package com.example.demo.controller; import com.example.demo.entity.User; import com.example.demo.service.UserService; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/user") public class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = userService; } @PostMapping public String add(@RequestBody User user) { userService.add(user); return "add success"; } @DeleteMapping("/{id}") public String delete(@PathVariable Long id) { userService.delete(id); return "delete success"; } @PutMapping public String update(@RequestBody User user) { userService.update(user); return "update success"; } @GetMapping("/{id}") public User getById(@PathVariable Long id) { return userService.getById(id); } @GetMapping public List<User> getAll() { return userService.getAll(); } }
UserMapper.java
package com.example.demo.mapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.*; import java.util.List; public interface UserMapper { @Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})") int insert(User user); @Delete("DELETE FROM user WHERE id = #{id}") int deleteById(Long id); @Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}") int update(User user); @Select("SELECT * FROM user WHERE id = #{id}") User selectById(Long id); @Select("SELECT * FROM user") List<User> selectAll(); }
UserService.java
package com.example.demo.service; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService { private final UserMapper userMapper; public UserService(UserMapper userMapper) { this.userMapper = userMapper; } public int add(User user) { return userMapper.insert(user); } public int delete(Long id) { return userMapper.deleteById(id); } public int update(User user) { return userMapper.update(user); } public User getById(Long id) { return userMapper.selectById(id); } public List<User> getAll() { return userMapper.selectAll(); } }
User.java
package com.example.demo.entity; import lombok.Data; @Data public class User { private Long id; private String name; private Integer age; }
浙公网安备 33010602011771号