今天学习了如何用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地址就可以获取数据库中被处理的数据值了
版权归原作者 luobinzi 所有, 如有侵权,请联系我们删除。