目录
项目准备
1、在ider创建一个项目demo_websrv;
接着创建BaseUrlMapper.xml、BaseUrlMapper、IBaseUrlService、BaseUrlServiceImpl
BaseUrlController多个文件;
记得配置yml文件
2、创建数据库webdb,在数据库内创建表base_url,在表内创建需要的字段
3、打开Redis,在测试中需要Redis进行缓存(没有Redis需要进行安装)
4、打开Postman
1.新增基础页面
(1)在BaseUrlMapper.xml文件中写入sql语句
注:sql语句字段不区分大小写,但是变量名区分
<insert id="addBaseUrl" parameterType="BaseUrl">
insert into base_url values (#{mainPage},#{rootlink},#{num},#{level},#{leaflink},#{description})
</insert>
(2)在BaseUrlMapper中写入下列句子
int addBaseUrl(BaseUrl baseUrl);
(3)IBaseUrlService
int myAddBaseUrl(BaseUrl baseUrl);
(4)BaseUrlServiceImpl
@Override
public int myAddBaseUrl(BaseUrl baseUrl) {
return baseUrlMapper.addBaseUrl(baseUrl);
}
(5)BaseUrlController
@PostMapping("/add")
public Result<?> addUrl(@RequestBody BaseUrl baseUrl){
try {
baseUrlService.myAddBaseUrl(baseUrl);
}catch (Exception e){
return Result.fail("2222","新增基础页面失败!"+e.toString());
}
return Result.success("","新增基础页面成功!");
}
(6) 最后去到Postman里测试
2.更新基础页面
(1)在BaseUrlMapper.xml文件中写入sql语句
<update id="updateBaseUrl" parameterType="BaseUrl">
update base_Url set description = #{description} where mainPage = #{mainPage}
</update>
(2) 在BaseUrlMapper中写入下列句子
int updateBaseUrl(BaseUrl baseUrl);
(3)IBaseUrlService
int myUpdateBaseUrl(BaseUrl baseUrl);
注释:方法名称和mapper接口方法名称可以一样,也可以不一样
(4)BaseUrlServiceImpl
@Resource
BaseUrlMapper baseUrlMapper ;
@Override
public int myUpdateBaseUrl(BaseUrl baseUrl) {
int num = baseUrlMapper.updateBaseUrl(baseUrl);
return num;
}
(5)BaseUrlController
@PutMapping("/update")
public Result<?> updateBaseUrl(@RequestBody BaseUrl baseUrl) {
int num;
try {
num = baseUrlService.myUpdateBaseUrl(baseUrl);
} catch (Exception e) {
return Result.fail("", "更新基础页面失败!" + e.toString());
}
return Result.success(num, "更新基础页面成功!");
}
(6) 最后去到Postman测试
3.根据查询基础页面信息
(1)在BaseUrlMapper.xml文件中写入sql语句
<select id="selectByMainPage" resultType="BaseUrl">
select * from base_url where mainPage = #{mainPage}
</select>
(2) 在BaseUrlMapper中写入下列句子
List<BaseUrl> selectByMainPage(String mainPage);
(3)IBaseUrlService
List<BaseUrl> mySelectByMainPage(String mainPage);
(4)BaseUrlServiceImpl
@Override
public List<BaseUrl> myselectByMainPage(String mainPage) {
return baseUrlMapper.selectByMainPage(mainPage);
}
(5)BaseUrlController
@GetMapping("getByMainPage")
public Result<List<BaseUrl>> qryBaseUrl(String mainPage){
List<BaseUrl> urlList = null ;
try{
urlList = baseUrlService.mySelectByMainPage(mainPage);
}catch (Exception e) {
return Result.fail(urlList,"查询失败"+e.toString());
}
return Result.success(urlList, "查询基础页面成功!");
}
(6) 最后去到Postman测试
4.根据多条件查询基础页面信息
(1) 在BaseUrlMapper.xml文件中写入sql语句
<select id="selectBaseUrl" resultType="BaseUrl" parameterType="BaseUrl">
select *
from base_url
where 1 = 1
<if test="mainPage != null">and mainPage = #{mainPage}</if>
<if test="rootlink != null">and rootlink = #{rootlink}</if>
<if test="num != null">and num = #{num}</if>
<if test="level != null">and level = #{level}</if>
<if test="leaflink != null">and leaflink = #{leaflink}</if>
</select>
(2) 在BaseUrlMapper中写入下列句子
List<BaseUrl> selectBaseUrl(BaseUrl baseUrl);
(3)IBaseUrlService
List<BaseUrl> mySelectBaseUrl(BaseUrl baseUrl);
(4)BaseUrlServiceImpl
@Override
public List<BaseUrl> selectBaseUrl(BaseUrl baseUrl) {
return baseUrlMapper.mySelectBaseUrl(baseUrl);
}
(5)BaseUrlController
/**
* 根据条件查询基础页面信息
* @param baseUrl
* @return
*/
@GetMapping("/get")
public Result<List<BaseUrl>> selectBaseUrl(@RequestBody BaseUrl baseUrl){
List<BaseUrl> list = baseUrlService.mySelectBaseUrl(baseUrl);
return Result.success(list,"查询成功!");
}
(6) 最后去到Postman测试
5.一些常见错误
(1)Postman下方报错:415 "Unsupported Media Type"
解决方法,将发送类型改为json
(2)Postman下方报错:405 "Method Not Allowed"
解决方法:查看请求方式和controller的方法请求方式是否一致
(3)ider报错:Unknow database 'webstore'
原因:没有建数据库 或 数据库名称有误
解决方法:创建数据库 或 修改数据库名称