SpringBoot开发——整合jdbc

一、配置pom.xml

    <!-- 整合jdbc -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>

二、配置yml文件

spring:
  # 配置数据库
  datasource:
    url: jdbc:mysql://localhost:3306/springBoot?serverTimezone=UTC
    username: root
    password: 147250
    driver-class-name: com.mysql.cj.jdbc.Driver

三、User

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    @NotNull(message = "id不能为空")
    private long id;
    
    @NotEmpty(message = "用户名不能为空")
    @Size(max=11,message = "用户名长度不能超过11")
    private String username;
    
    @NotEmpty(message = "密码不能为空")
    @Size(max = 11,message = "密码长度不能超过11")
    private String password;
    
}

四、UserRepository

public interface UserRepository {
    List<User>findAll();
    User findById(long id);
    void deleteById(long id);
    void save(User user);
    void update(User user);
}

五、UserRepositoryImpl

@Repository
public class UserRepositoryImpl implements UserRepository {

    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public List<User> findAll() {
        return jdbcTemplate.query("select * from user", new BeanPropertyRowMapper<User>(User.class));
    }

    @Override
    public User findById(long id) {
        return jdbcTemplate.queryForObject("select * from user where id = ? ", new Object[]{id},new BeanPropertyRowMapper<>(User.class));
    }

    @Override
    public void deleteById(long id) {
        jdbcTemplate.update("delete from user where id=?",id);
    }

    @Override
    public void save(User user) {
        jdbcTemplate.update("insert into user(username,password) value(?,?)",user.getUsername(),user.getPassword());
    }

    @Override
    public void update(User user) {
            jdbcTemplate.update("update user set username=? ,password=? where id=?",user.getUsername(),user.getPassword(),user.getId());
    }
}

六、UserHandler

@RestController
@RequestMapping("/user")
public class UserHandler {
    @Autowired
    private UserRepository userRepository;

    @GetMapping("/findAll")
    public List<User> findAll(){
        return userRepository.findAll();
    }
    @GetMapping("/findById/{id}")
    public User findById(@PathVariable("id") long id){
        return userRepository.findById(id);
    }
    @PostMapping("/save")
    public void save(@RequestBody User user){
        userRepository.save(user);
    }
    @PutMapping("/update")
    public void update(@RequestBody User user){
        userRepository.update(user);
    }
    @DeleteMapping("/deleteById/{id}")
    public void deleteById(@PathVariable("id")long id){
        userRepository.deleteById(id);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值