0基础学springboot之对数据库的增删改查

1:使用的是mysql数据库,数据库中的表为student

2:创建springboot项目,在pom文件里加载mysql依赖

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

这个依赖可以使用@Data注解,就可以省略掉getset方法。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

3:创建一个和表一样结构的类:(@Entity这个注解是对应的postman里的body。)

@Data
@Entity
public class Student {
    @Id
    private int id;
    @Column
    @Nullable
    private String name;
    @Column
    @Nullable
    private int c_id;
}

4:创建service层:在这里引用一个JdbcTemplate,可以通过它对数据库进行操作。

@Service
public class StudentService {
    @Autowired
    JdbcTemplate jdbcTemplate;
    public List<Map<String,Object>> searchById(String id){
        String sql1="select * from student where id=?";
        List< Map< String, Object > > list = jdbcTemplate.queryForList( sql1, id );
        return  list;
    }
    public String deleteById(String id){
        String sql1="delete from student where id=?";
        jdbcTemplate.update( sql1,id );
        return "delete ok";
    }
    public String insert(Student student){
        String sql1="insert into db1.student values(?,?,?)";
        String name = student.getName();
        int c_id = student.getC_id();
        int id = student.getId();

        jdbcTemplate.update( sql1,id,name,c_id );
        return "insert ok";
    }
    public String update( HttpServletRequest request, @RequestBody Student student ) {
        String id = request.getParameter( "id" );
        try {


            String name = student.getName();
//            Class< ? extends Student > aClass = student.getClass();
            int c_id = student.getC_id();
            //        if(name.length()>0){
            //            if (c_id>0){
            //                String sql2="name="+name+"c_id="+c_id;
            //            }else{
            //                String sql2="name="+name;
            //            }
            //        }
            //        else if(c_id>0){
            //            String sql2="c_id="+c_id;
            //        }else{
            //            String sql2="name="+name;
            //        }
            String sql3 = "";
            if ( name.length() > 0 ) {
                sql3 = "name=\"" + name + "\",";
            }
            String sql4 = "";
            if ( c_id > 0 ) {
                sql4 = "c_id=" + c_id + " ";
            }
            String sql2 = sql3 + sql4;

            String sql1 = "update student set ";

            String sql6 = "where id=?";

            System.out.println( sql1 + sql2 + sql6 );
                    jdbcTemplate.update( sql1+sql2+sql6,id );

            return "update ok";
        } catch ( Exception e ) {
            e.printStackTrace();
        }



        return "update ok";

    }
}

5:再创建一个controller层(这里调用service层的方法),这里使用的RestController,相当于@Controller+

@RequestBody。
@RestController
public class StudentController {
@Autowired
    StudentService studentService;
    @GetMapping
    public List< Map<String,Object> > Search( HttpServletRequest request ){
        String id=request.getParameter( "id" );
        List< Map< String, Object > > list = studentService.searchById( id );
        return list;

    }
    @DeleteMapping
    public String Delete(HttpServletRequest request){
        String id=request.getParameter( "id" );
        studentService.deleteById( id );
        return "delete";
    }
    @PutMapping
    public String Update( HttpServletRequest request, @RequestBody  Student student ){
        studentService.update( request,student );
return  "update ok";
    }
    @PostMapping("/insert")
    public void Insert(@RequestBody Student student){
        studentService.insert( student );
    }
}

6:配置配置文件:

server.port=30999
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://192.168.10.101:3306/db1?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
# 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=123456asd

改成你的端口号。

数据库链接地址改为自己的,我这里连接的是虚拟机的,db1是我的数据库名字,必须改为自己的数据库名字。

7:使用postman分别进行增删改查操作:

查:

 增:使用的是post(代码中定义的)

 由于我这里没有写return语句,所以成功的时候什么也不会返回,去数据库里查看一下:

删除:使用的是delete(代码中定义的)

 成功

 

 改:

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值