跟我学SpringBoot之Jdbc

只需低头努力,剩下的交给时光,时间会公平地帮你处理一切

前言

我们学习Java的时候,可能最开始都会学习使用JDBC连接数据库,那么下面我们看一下在SpringBoot中如何使用JDBC,可能很多人习惯了使用框架,已经不记得如何使用JDBC来操作数据库了,说的就是你,有木有?

环境说明:

  • 数据库:mysql
  • springboot 2.4.3

下面通过spring的JdbcTemplate来演示一下如何操作mysql数据库

1、建表
create table tb_user
(
	user_id bigint not null auto_increment PRIMARY KEY comment '用户ID',
  user_name varchar(20) not null comment '用户名称',
  user_address varchar(100) not null comment '用户地址',
  age int not null comment '年龄',
  create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表'


insert into tb_user(user_name,user_address,age) values('user01','武汉市洪山区',18);
insert into tb_user(user_name,user_address,age) values('user02','武汉市汉阳区',30);
2、加入依赖
compile 'org.springframework.boot:spring-boot-starter-jdbc:2.4.3'
compile 'mysql:mysql-connector-java:5.1.45'
3、mysql配置
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/testdb1?useUnicode=true&characterEncoding=UTF8
    username: root
    password: 123456
4.java代码

定义一个实体类

public class User {
    private Integer userId;
    private String userName;
    private String userAddress;
    private Integer age;
    private Timestamp createTime;
    private Timestamp updateTime;

    /**setter getter **/
}

定义dao接口

public interface UserDao {

    List<User> getList();
    int add(User user);
}

具体的dao实现,直接注入JdbcTemplate操作数据库

@Repository
public class UserDaoImpl implements UserDao{

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public List<User> getList() {
        return jdbcTemplate.query("select * from tb_user",new Object[]{},new BeanPropertyRowMapper(User.class));
    }

    @Override
    public int add(User user) {
        return jdbcTemplate.update("insert into tb_user(user_name,user_address,age) values(?,?,?)",user.getUserName(),user.getUserAddress(),user.getAge());
    }
}

写个接口测试一下查询和新增数据

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserDao userDao;

    @GetMapping("/getList")
    public List<User> getUserList(){
        return userDao.getList();
    }

    @PostMapping("/addUser")
    public String addUser(@RequestBody User user){
        userDao.add(user);
        return "添加成功";
    }
}

写个main方法来启动项目

@SpringBootApplication
public class JdbcMain {
    public static void main(String[] args){
        SpringApplication.run(JdbcMain.class,args);
    }
}

运行结果

查询User列表

在这里插入图片描述

新增User

在这里插入图片描述

如果感觉对你有些帮忙,请收藏好,你的关注和点赞是对我最大的鼓励!
如果想跟我一起学习,坚信技术改变世界,请关注【Java天堂】公众号,我会定期分享自己的学习成果,第一时间推送给您

源码已上传至https://github.com/pzjtian/springboot-demo,请持续关注~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值