Springboot:整合JDBC

1、创建项目

(1)选择模块

jdbc相关:

模板引擎:

 项目创建后自动帮我们导入了以下依赖:

 <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>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

(2)创建获取数据库连接的配置文件

spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/stu_mangement?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8

2、测试连接

(1)查询

@Controller
public class JDBCController {
    @Autowired
    JdbcTemplate jdbcTemplate;
    @RequestMapping("/query")
    public List<Map<String, Object>> queryAll() {
        String sql = "SELECT * FROM student";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        System.out.println(maps);
        return maps;
    }
}

数据库:

 测试结果:

 (2)增加

@GetMapping("/add")
    public String addStudent(){
        //插入语句,注意时间问题
        String sql = "insert into student(studentno, birthday,classno,phone,sex,sname,point) " +
                "values ('20171514','2017-11-18','2017','18739496655','男','zhai','899')";
        jdbcTemplate.update(sql);
        return "addOk";
    }

测试结果:

 (3)修改

    @GetMapping("/update/{id}")
    public String updateUser(@PathVariable("id") int id){
        String sql = "update student set phone=? where studentno="+id;
        //数据
        Object[] objects = new Object[1];
        objects[0] = "12222222";
        jdbcTemplate.update(sql,objects);
        return "updateOk";
    }

测试结果:

 (4)删除

  @RequestMapping("/delete/{id}")
    public String delStudent(@PathVariable("id") int id){
        String sql = "delete from student where studentno=?";
        jdbcTemplate.update(sql,id);
        return "deleteOk";
    }

删除后数据库中对应的记录消失

传递的参数是RestFul风格,采用传统的方式如果使用get方式提交的话会暴露参数和对应的属性,存在安全隐患。而采用RestFul风格传递数据只会暴露参数。

每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
原文地址:https://www.cnblogs.com/zhai1997/p/13693735.html