SpringBoot使用JDBC实现增删改查

一、项目分层

二、连接数据库

https://blog.csdn.net/saytime/article/details/78963121 步骤一、引入连接数据库的相关依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.1.14</version>
</dependency>

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.15</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.18.6</version>
   <scope>provided</scope>
</dependency>

步骤二、配置数据库连接池相关信息

步骤三、初始化数据库连接

@Configuration
@PropertySource(value = "classpath:application.properties")
public class DataSourceConfiguration {

    @Bean(destroyMethod = "close", initMethod = "init")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }

}

启动报错:

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

解决方法:https://blog.csdn.net/anaini1314/article/details/71157791

步骤四、增删改查

https://blog.csdn.net/sunxiaoyu94/article/details/50511340

1、新增

/**
 * 新增用户
 * @param user 用户信息
 * @return
 */
@Override
public int add(User user) {
    String sql = "insert into sys_user (user_name,password,email,telephone) values(?,?,?,?)";
    int result = jdbcTemplate.update(sql, user.getUserName(),user.getPassword(),user.getEmail(),user.getTelephone());
    return result;
}

2、修改

/**
 * 修改用户 用户信息
 * @param user
 * @return
 */
@Override
public int update(User user) {
    String sql = "update sys_user set user_name =?,password=?,email=?,telephone=? where id = ?";
    int result = jdbcTemplate.update(sql, user.getUserName(),user.getPassword(),user.getEmail(),user.getTelephone(),user.getId());
    return result;
}

3、删除

/**
 * 删除用户
 * @param id 用户id
 * @return
 */
@Override
public int deleteById(String id) {
    String sql = "delete from sys_user where id = ?";
    int result = jdbcTemplate.update(sql, id);
    return result;
}

4、根据用户id获取用户

/**
 * 根据用户id获取用户
 * @param id 用户id
 * @return
 */
@Override
public User getUserById(String id) {
    String sql="select * from sys_user where id=?";
    return jdbcTemplate.queryForObject(sql, new RowMapper<User>() {
        @Override
        public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            return User.builder()
                    .id(rs.getInt(1))
                    .userName(rs.getString(2))
                    .password(rs.getString(3))
                    .email(rs.getString(4))
                    .telephone(rs.getString(5))
                    .build();
        }
    }, id);
}

注意: 1、接收参数的两种方式 (1)参数在路径上

(2)问号传参

转载于:https://my.oschina.net/u/2427561/blog/3020318

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值