在上一篇博客中,利用spring boot搭建了一个Hello word,现在把mybatis加入,做一套完整的spring boot的web Demo项目。
1、老规矩,我们先创建一下分层思想的目录结构,如图
于上一章节的博客对比,就是在src/main/java目录下创建以前你的ssm项目的目录结构
2、在bean目录下创建实体类
package com.hcycom.bean;
public class Cedevice {
public int DEVICE_ID;//设备ID
public String DEVICE_NAME;//设备名称
public String DEVICE_IP;//设备端口IP
public String USERNAME;//登录用户名
public String PASSWORD;//登录密码
//省略get和set方法
}
3、在dao层建立interface接口,添加增删改查方法
package com.hcycom.dao;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.hcycom.bean.Cedevice;
public interface CedeviceDao {
//查询所有设备信息
public List<Cedevice> getCedevice();
//填加一条设备信息
public int addCedevice(@Param("ce")Cedevice ce);
//查看一条设备信息
public Cedevice getCedeviceById(@Param("ce")Cedevice ce);
//修改当前设备信息
public int updateCedevice(@Param("ce")Cedevice ce);
//删除一条设备信息
public int deleteCedevice(@Param("ce")Cedevice ce);
}
4、在service层下创建CedeviceService
package com.hcycom.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hcycom.bean.Cedevice;
import com.hcycom.bean.Vlllinkdelay;
import com.hcycom.dao.CedeviceDao;
@Service
public class CedeviceService {
@Autowired
private CedeviceDao cedeviceDao;
//查询所有设备信息
public List<Cedevice> getCedevice(){
return cedeviceDao.getCedevice();
}
//填加一条设备信息
public int addCedevice(Cedevice ce){
return cedeviceDao.addCedevice(ce);
}
//查看一条设备信息
public Cedevice getCedeviceById(Cedevice ce){
return cedeviceDao.getCedeviceById(ce);
}
//修改当前设备信息
public int updateCedevice(Cedevice ce){
return cedeviceDao.updateCedevice(ce);
}
//删除一条设备信息
public int deleteCedevice(Cedevice ce){
return cedeviceDao.deleteCedevice(ce);
}
}
5、然后在config下城建mapper文件cedeviceInfo.xml
<?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.hcycom.dao.CedeviceDao">
<!-- 查询所有设备信息 -->
<select id="getCedevice" resultType="com.hcycom.bean.Cedevice" parameterType="com.hcycom.bean.Cedevice">
SELECT * FROM ip_device_ce
</select>
<!-- 删除一条设备信息 -->
<delete id="deleteCedevice" parameterType="com.hcycom.bean.Cedevice">
DELETE FROM ip_device_ce WHERE DEVICE_ID=#{ce.DEVICE_ID}
</delete>
<!-- 查看一条设备信息 -->
<select id="getCedeviceById" resultType="com.hcycom.bean.Cedevice" parameterType="com.hcycom.bean.Cedevice">
SELECT * FROM ip_device_ce WHERE DEVICE_ID=#{ce.DEVICE_ID}
</select>
<!-- 修改当前设备信息 -->
<update id="updateCedevice" parameterType="com.hcycom.bean.Cedevice">
UPDATE ip_device_ce SET
DEVICE_NAME=#{ce.DEVICE_NAME},DEVICE_IP=#{ce.DEVICE_IP},USERNAME=#{ce.USERNAME},PASSWORD=#{ce.PASSWORD}
WHERE DEVICE_ID=#{ce.DEVICE_ID}
</update>
<!-- 填加一条设备信息 -->
<insert id="addCedevice" parameterType="com.hcycom.bean.Cedevice">
insert into ip_device_ce values(#{ce.DEVICE_ID},#{ce.DEVICE_NAME},#{ce.DEVICE_IP},#{ce.USERNAME},#{ce.PASSWORD})
</insert>
</mapper>
6、最后在Controller中建立CedeviceController文件
package com.hcycom.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.hcycom.bean.Cedevice;
import com.hcycom.service.CedeviceService;
@Controller
public class CedeviceController {
@Autowired
private CedeviceService cedeviceService;
//查询所有设备信
@RequestMapping("getCedevice")
@ResponseBody
public List<Cedevice> getCedevice(ModelMap model){
List<Cedevice> list1 = cedeviceService.getCedevice();
return list1;
}
//填加一条设备信息
@RequestMapping("addCedevice")
@ResponseBody
public String addCedevice(Cedevice ce){
Cedevice j = cedeviceService.isCedevice(ce);
if(j!=null&&!"".equals(j)){
return "true";
}else{
cedeviceService.addCedevice(ce);
return "false";
}
}
//根据名称查看一条设备信息
@RequestMapping("getCedeviceByName")
public Cedevice getCedeviceByName(Cedevice ce,ModelMap model){
Cedevice ced = cedeviceService.getCedeviceByName(ce);
model.put("ced", ced);
return ced;
}
//修改当前设备信息
@RequestMapping("updateCedevice")
public String updateCedevice(Cedevice ce){
int i = cedeviceService.updateCedevice(ce);
if(i>0){
return "redirect:index.html";
}else{
return "error";
}
}
//删除一条设备信息
@RequestMapping("deleteCedevice/{DEVICE_ID}")
public String deleteCedevice(Cedevice ce){
int i = cedeviceService.deleteCedevice(ce);
if(i>0){
return "redirect:index.html";
}else{
return "error";
}
}
}
7、在src→min→webapp目录下构建你的前台页面,然后右键Run As启动ssacc.java文件,打开浏览器访问就可以了。
如果你之前用的ssm的框架结构,其实在把spring MVC和spring变为spring-boot后,只是启动方式变了,配置文件变成一个,后天java代码和分层不需要变动。
spring boot还是很好用的,少了复杂繁琐的配置文件,利用main方法启动程序,在调试BUG时都很方便。