如何通过springboot来写一个简单的接口?
想要知道怎么写可能只需要几步,半小时足矣
本篇文章只是教大家如何快速地使用。
但是具体是为什么这样用?以及背后的原理,请大家先认真学习javaweb-servlet-ssm框架等等,这里就不做过多的讲解。
前期准备:
首先在idea中新建项目:
new project-spring initializr一路next(如有需要修改的信息,也可以自己修改,不重要)
注意,这里要记得选上,作用是在初始化的时候,需要那些东西idea就帮你初始化进去(当然,后期也能自己手动加,但是这里为了方便学习,还是该选的都选上)
- developer tools ―spring boot devtools
- web ―spring web
- SQL―jdbc api―mysql driver ―mybatis framework
最后选完了,确保,右边栏selected dependencies为如下:
再一路next。。等待加载完成
再在MySQL数据库中准备一个student表:
接着,把src\main\resources中的application.properties文件改名成application.yml,这是因为yml文件的结构比较清晰,好看易懂
application.yml文件是一个配置文件,作用是可以配置一些数据库信息,他来告诉springboot我们的数据库账号密码呀,表名是啥等等。
以下是我的application.yml,你们可以根据自己的实际情况修改对应的信息:
server: port: 8081 spring: #数据库连接配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dt55?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC username: root password: 888888 #mybatis的相关配置 mybatis: #mapper配置文件 mapper-locations: classpath:mapper/*.xml
验证先前配置是否成功:点开src\main\java\com\wzy\demo\DemoApplication.java
点击箭头所指的运行按钮:
若控制台出现:
并且在浏览器中输入http://localhost:8081/会出现:
则代表配置成功
步骤一:建立实体类,需要跟数据库表字段保持一致
在src\main\java\com\wzy\demo目录下新建一个名为entity包
再在entity包下,新建一个名为Student的class,这个Student即为实体类,该实体类即对应数据库中的表,类中的属性与数据库字段保持一致,并且加上构造函数以及get、set方法:
public class Student { private int id; private String name; private int age; private String hobby; private String address; public Student(int id, String name, int age, String hobby, String address) { this.id = id; this.name = name; this.age = age; this.hobby = hobby; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
步骤二:建立mapper接口,定义要操作的数据库的动作
操作的数据库的动作比如:查询、更新、删除等等
这些动作就是mapper
在src\main\java\com\wzy\demo目录下新建一个名为mapper包
再在mapper包下,新建一个接口StudentMapper
又因为,数据库中的一行数据就对应着一个对象
这里假设,我们想要找到所有的学生信息。
@Mapper public interface StudentMapper { List<Student> findAllStudent(); }
步骤三:建立mapper的xml文件,写具体的sql语句
再在resources目录下建立一个名为mapper的包,并且在mapper的包下新建一个名为StudentMapper.xml的文件。这个文件就是告诉java具体要写哪些sql语句。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.wzy.demo.mapper.StudentMapper"> <select id="findAllStudent" resultType="com.wzy.demo.entity.Student"> SELECT * FROM student </select> </mapper>
注意,这里的namespace就是指向哪一个mapper
id是mapper里面的方法名,resultType就是返回的类型
这里与前文中application.yml的mapper-locations相对应
步骤四:建立service类,处理业务逻辑
步骤三已经得到了数据了,但是展示给前端时,需要根据自己的业务逻辑对数据进行进一步的加工,所以这里在src\main\java\com\wzy\demo下建立service包,并且在service包中,新建一个StudentService类,此类的作用是处理相应的业务逻辑
//@Service的意思是将其实例化, //之前如果有一个class,是不是需要new一个对象才可以用, //这里就可以理解成会自动帮你new,new完了之后,将实例加到了spring容器当中 @Service public class StudentService { //引进StudentMapper,@Autowired的意思就是将其实例化,通过autowired从spring容器中拿出来,供我们使用 @Autowired private StudentMapper studentMapper; //处理业务逻辑,这里由于业务过于简单,就空着,查询出什么我就返回什么 public List<Student> findAllStudent() { return studentMapper.findAllStudent(); } }
步骤五:在controller类中展示处理结果
在src\main\java\com\wzy\demo下建立controller包,并且在controller包中,新建一个StudentController类,此类的作用是将信息传到前端,就是负责给浏览器返回相应的数据。
//@RestController会自动帮一个对象转换成json的格式 @RestController public class StudentController { @Autowired private StudentService studentService; //@RequestMapping("/getstudent")的意思告诉前端相应的地址访问 @RequestMapping("/getstudent") public List<Student> getStudent(){ return studentService.findAllStudent(); } }
验证
浏览器输入:http://localhost:8081/getstudent
出现数据库相关信息,试验成功
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/fjswcjswzy/article/details/120118306