简单介绍如何使用Spring Boot使用JdbcTemplate与MySQL进行数据库操作

所需要的软件有三种,navicat、intellij、谷歌浏览器。

先给大家看一下完整的项目结构,完整的代码已放在文章里面,需要的话可自行下载。

首先先创建一个简单项目

1-使用maven类型创建项目

2-配置项目依赖

代码如下

</dependency>
<!--MySQL依赖-->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
<!--JDBC依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

3-在配置类中配置以下信息。

4-在resources创建 cardata.sql、carschema.sql ,选择你要插入的数据或者创建表格。

代码如下

drop table if exists user;
create table user(
    id int(12) auto_increment primary key comment '车号',
    name varchar(100) comment'车名',
    country varchar(100) comment'产地'
)engine=InnoDB;

5-创建一个dao包,在里面创建一个dao类使用JdbcTemplate对数据库内容完成增删查改操作。

6-在dao类对数据库完成增删查改操作

 dao类代码如下

package com.example.dao;

import com.example.entity.CarBrad;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CarDao {

JdbcTemplate template;
@Autowired
    public CarDao(JdbcTemplate template){
this.template=template;
}
//获取车的数据
    public List<CarBrad> getAll() {
        String sql = "select*from user";
        return template.query(sql, (rs, rowNum) -> {
            CarBrad entity = new CarBrad();
            entity.setId(rs.getInt("id"));
            entity.setName(rs.getString("name"));
            entity.setCountry(rs.getString("country"));
            return entity;
        });
    }
//根据id获取车信息
    public CarBrad  setById(Integer id) {
        String sql = " select*from user where id=?";
        return template.queryForObject(sql, new Object[]{id}
                , new BeanPropertyRowMapper<>(CarBrad.class));
    }
//插入车数据
    public int add(CarBrad entity){
        String sql="insert into user(name, country) values(?,?)";
        return template.update(sql,entity.getName(),entity.getCountry());
    }
//修改车数据
    public  int update(CarBrad entity) {
        String sql = "update user set name=? ,country=? where id=?";
 return template.update(sql, entity.getName(), entity.getCountry(),entity.getId());
    }
//删除车数据
    public int delete(Integer id){
    String sql="delete from user where id=?";
    return template.update(sql,id);
    }
    }


7-在项目中创建一个Controller类,提供响应的接口访问数据库操作

代码如下

package com.example.controller;
import com.example.dao.CarDao;
import com.example.entity.CarBrad;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/user")
public class CarController {
CarDao dao;
@Autowired
    public  CarController(CarDao dao){this.dao=dao;}
@RequestMapping("/list")
    public List<CarBrad> getAll() {return dao.getAll();}
//根据id获取车的信息
    @RequestMapping("/getById/{userId}")
 public  CarBrad findById(@PathVariable("userId")Integer id){
    return dao.setById(id);
}
//插入车数据
@RequestMapping("/creat")
        public String insert(){
    CarBrad entity=new CarBrad();
    entity.setName("用户4");
    entity.setCountry("中国");
    return dao.add(entity)>0?"新增成功":"fail";
}
//修改用户数据
    @RequestMapping("/edit")

    public String edi(){
    CarBrad entity=new CarBrad();
    entity.setId(1);
entity.setName("测试用户名-update");
entity.setCountry("测试国家名-update");
return dao.update(entity)>0?"修改成功":"fail";
}
//删除车数据
@RequestMapping("/delete/{userid}")
public String delete(@PathVariable("userid")Integer id){
    return dao.delete(id)>0?"删除成功":"删除失败";
    }
}

7-2 完成一次插入数据到数据库,id为自动增加

注意:每次重新运行是记得点击car下面的  ”表“ 右击选择刷新

或者在这里插入数据。

 7-3 查询所有数据。

7-4 根据Id查询相关属性。因为刚刚插入的数据为自动增长类型,id为3。

7-5 根据Id修改数据库中的数据

7-6 根据id删除指定一行数据

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值