首页
学习
活动
专区
圈层
工具
发布

springboot (四)spring data jpa

添加pom依赖

代码语言:javascript
复制
<!-- mysql驱动:com.mysql.jdbc.Driver -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- SpringData-Jpa依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

建表,编写实体 User.java

代码语言:javascript
复制
@Entity(name = "user")
public class User implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    Long id;
    @Column(name = "name")
    String name;
    @Column(name = "age")
    Integer age;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    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;
    }
}

编写dao和service

代码语言:javascript
复制
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    @Query("select p from user p where p.name=:name ")
    List<User> findByName(@Param(value = "name") String name);
}

UserService 接口

代码语言:javascript
复制
public interface UserService {
    List<User> findListByName(String name);
}

UserServiceImpl 实现类

代码语言:javascript
复制
@Service
@Transactional(rollbackFor = Exception.class)
public class UserServiceImpl implements UserService {
    @Autowired
    private UserRepository userRepository;
    @Override
    public List<User> findListByName(String name) {
        if (name == null || name.trim().isEmpty()) {
            return null;
        }
        return userRepository.findByName(name);
    }
}

编写controller和页面

代码语言:javascript
复制
@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;
    @RequestMapping(value = "/")
    public String user() {
        return "/user";
    }
    @ResponseBody
    @RequestMapping(value = "/findListByUserName")
    public Map<String, Object> findListByUserName(@RequestParam(name = "uname") String name) {
        Map<String, Object> map = new HashMap<>();
        List<User> userList = userService.findListByName(name);
        map.put("msg", "处理成功");
        map.put("data", userList);
        return map;
    }
}

user.html 页面代码

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户界面</title>
</head>
<body>
<h2>添加用户</h2>
<form method="post" action="./addUser">
    <label>用户名:</label><input type="text" name="uname">
    <label>年龄:</label><input type="number" name="age">
    <input type="submit" value="添加"/>
</form>
<form method="post" action="./findListByUserName">
    <label>用户名:</label><input type="text" name="uname">
    <input type="submit" value="查找用户"/>
</form>
</body>
</html>

基于上篇文章,先添加几个用户实体,再查找。效果如下图:

下一篇
举报
领券