SpringBoot--SpringBoot 整合JDBC完成CRUD

20 篇文章 0 订阅
2 篇文章 0 订阅

SpringBoot 整合JDBC完成CRUD

      主要就是对JdbcTemplate对象的创建与API的使用

创建SpringBoot项目

    1 Pom文件,添加下列启动器与依赖
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.38</version>
 </dependency>

 <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
     <version>1.1.10</version>
 </dependency>

    2 修改appliaction.properties 文件,使用SpringBoot内置的DataSource

内置的数据源,只要在appliaction文件中配置即可

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shouhe?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
#更换默认的数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

或者使用手动注入的数据源

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/shouhe?useSSL=false
jdbc.username=root
jdbc.password=root

手动注入的数据源,需要使用@Configuration注解

/**
 * @author 守鹤
 * @date 2020/5/13 21:05
 */
@Configuration
public class JdbcDataSource {

    @Bean
    @ConfigurationProperties(prefix = "jdbc")
    public DataSource getDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        return dataSource;
    }
}

    3 编写数据库操作层
**
 * @author 守鹤
 * @date 2020/5/13 20:31
 */
@Repository
public class UserDaoImpl implements UserDao {

	//只要Spring容器中有数据源,就可以注入JdbcTemplate 对象
    @Autowired
    private JdbcTemplate template;

    @Override
    @Transaction
    public Integer addUser(User user) {
        String sql="insert into user values(default,?,?,?,?)";
        return template.update(sql, user.getUname(), user.getPassword(), user.getSex(), user.getAge());
    }

    @Override
    public List<User> selectAllUser() {
        String sql="select * from user";
        return template.query(sql, new RowMapper<User>() {
            @Override
            public User mapRow(ResultSet resultSet, int i) throws SQLException {
                User user = new User();
                user.setId(resultSet.getInt("id"));
                user.setUname(resultSet.getString("uname"));
                user.setPassword(resultSet.getString("password"));
                user.setSex(resultSet.getInt("sex"));
                user.setAge(resultSet.getInt("age"));
                return user;
            }
        });
    }

    @Override
    @Transaction
    public Integer deleteUser(Integer id) {
        String sql="delete from user where id=?";
        return template.update(sql, id);
    }
}

SpringBoot 整合JDBC demo

链接:https://pan.baidu.com/s/1VxhuunGIpSGuCtdA6rkHmg
提取码:3mrl

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值