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风格传递数据只会暴露参数。