赞
踩
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(代码中定义的)
成功
改:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。