今天学习了如何用Java写一个简单的接口,方法简单好用(本人是前端,后端小白)

用的软件是idea,框架是spring boot,在spring boot中创建我们需要的项目就可以开始了。 

注:开始运行前一定要把config中yml文件内的数据库连接名称和密码改成自己数据库的

  

 ​​​​​​​

 

链接已附上spring boot的基本教程

spring boot从入门到精通

 有过Java基础的应该都知道Java写接口的三层架构,不知道没关系可以看一下链接内容

Java的三层架构

把这三个层分别放在这两个项目里,framework我放了service层合mapper层,实体类entity,jianzhiwang放了Controllter层

framework项目中新建的文件

 jianzhiwang项目中新建的文件

 controller文件中

可以先写Mapper层来与数据库连接,再把数据逐层传递到前端

Mapper层内容

接口(interface)是抽象方法和常量值的定义的集合。

从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

如果要想实现接口,就要有一个实现类去实现,而且要实现它其中的抽象方法,并且要用implements关键字。形式为实现类名 implements 接口名。

@Mapper
@Component
/**
 * 注解  这是Mapper层
 * @param pageVO
 * @return
 */

//@Select这段代码是sql语句,可以用来操控数据库数据
//定义一个公有方法,让entity实体类的PromoterVo 把数据传到service层中
//@Param("id") 是String id 重命名,以便识别
public interface PromoterMapper {
    @Select("select a.id,a.user_id,a.user_num,a.user_grad,b.user_name from promoter a,users b where a.user_id = b.id and a.user_id=#{id}")
    public PromoterVo getPromoterById(@Param("id") String id);
}

entity内容

用来在各层中传输数据

//@Data是用来把方法类引出去的
class类里面要与数据库字段一致
@Data
public class PromoterVo {
    private String userNum;
    private String userGrad;
    private String userId;
    private String userName;
    private String userImg;
    private String id;
}

Service层内容

Service接口

/**
 * 可以写注解
 * @param pageVO
 * @return
 */

//Service接口文件用来声明方法
//定义了一个getPromoterById方法
public interface PromoterService {
    public PromoterVo getPromoterById(String id);
}

ServiceImpl类

与Service接口文件一一对用,用来写Service接口文件的方法体

/**
 * 
 * @param pageVO
 * @return
 */
@Service
public class PromoterServiceImpl implements PromoterService {
    //引入Mapper方法并定义一个对象
    @Autowired
    PromoterMapper promoterMapper;
    //引用entity的getPromoterById方法来返回Mapper层的值
    @Override
    public PromoterVo getPromoterById(String id) {
        return promoterMapper.getPromoterById(id);
    }
}

Controller层内容

@CrossOrigin
@RestController
@RequestMapping("/manager/promoter")  //方法地址
public class PromoterController {
    @Autowired
    PromoterService promoterService;
    @RequestMapping("/getPromterByid")   //请求地址
    //ResultMessage为固有格式,PromoterVo是entity实体类的一个类,getPromterByid是自定义名称
    //@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
    //return返回数据ResultUtil.data,调用service层中的getPromoterById方法来获取Service中的值
    public ResultMessage<PromoterVo> getPromterByid(@RequestParam String id){
        return ResultUtil.data(promoterService.getPromoterById(id));
    }
}

经过数据的层层获取与传递,拼接一下方法地址和请求地址组成一个http地址就可以获取数据库中被处理的数据值了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐