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

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

0基础学springboot之对数据库的增删改查_第1张图片

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


    mysql
    mysql-connector-java

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


    org.projectlombok
    lombok

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> 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 > 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分别进行增删改查操作:

查:

0基础学springboot之对数据库的增删改查_第2张图片

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

0基础学springboot之对数据库的增删改查_第3张图片

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

0基础学springboot之对数据库的增删改查_第4张图片

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

0基础学springboot之对数据库的增删改查_第5张图片

 成功

 0基础学springboot之对数据库的增删改查_第6张图片

 改:

0基础学springboot之对数据库的增删改查_第7张图片

 0基础学springboot之对数据库的增删改查_第8张图片

你可能感兴趣的:(数据库,spring,boot,mysql)