001 文件对应的位置
002 DAO中的OperatorLog.java
package com.imooc.springboot.Dao; import com.imooc.springboot.entity.admin.OperatorLog; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; /* * 后台操作日志类数据库操作层 * 可以在里面自定义方法 * */ @Repository public interface OperatorLogDao extends JpaRepository<OperatorLog,Long> { @Query("select ol from OperatorLog ol where id = :aaa") OperatorLog find(@Param("aaa") Long id); }
003 Service中的OperatorLogService.java
package com.imooc.springboot.service.admin; import com.imooc.springboot.Dao.OperatorLogDao; import com.imooc.springboot.entity.admin.OperatorLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /* * 后台操作类数据库操作service * */ @Service public class OperatorLogService { @Autowired private OperatorLogDao operatorLogDao; /* * 添加/修改操作日志,当id不为空时,修改,当id为空时,自动新增一条记录 * */ public OperatorLog save(OperatorLog operatorLog){ return operatorLogDao.save(operatorLog); } /* * 根据id查询单条数据 * */ public OperatorLog findById(Long id){ return operatorLogDao.find(id); } /* * 查询所有数据 * */ public List<OperatorLog> findAll(){ return operatorLogDao.findAll(); } //删除单挑数据 public void delete(Long id){ operatorLogDao.deleteById(id); } /* * 清空整张表 * */ public void deleteAll(){ operatorLogDao.deleteAll(); } }
004 Controller中的SystemController.java
package com.imooc.springboot.controller.admin; import com.imooc.springboot.config.siteConfig; import com.imooc.springboot.entity.admin.OperatorLog; import com.imooc.springboot.service.admin.OperatorLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.Date; import java.util.List; /* * * 系统控制器 * * */ @RequestMapping("/system") @Controller public class SystemController { @Autowired private siteConfig siteConfig; //使用operatorLogService @Autowired private OperatorLogService operatorLogService; private Logger logger = LoggerFactory.getLogger(SystemController.class); @RequestMapping(value="/index") public String index(String name, Model model){ OperatorLog operatorLog = new OperatorLog(); operatorLog.setOperator("猿来入此"); operatorLog.setContent("猿来入此的网址是:https://yuanlrc.com"); model.addAttribute("operator",operatorLog); model.addAttribute("date",new Date()); List<OperatorLog> operatorLogs = new ArrayList<OperatorLog>(); OperatorLog ol1 = new OperatorLog(); ol1.setOperator("猿来入此01"); ol1.setContent("猿来入此01 的网址是:https://yuanlrc.com0"); operatorLogs.add(ol1); OperatorLog ol2 = new OperatorLog(); ol2.setOperator("猿来入此02"); ol2.setContent("猿来入此02 的网址是:https://yuanlrc.com0"); operatorLogs.add(ol2); OperatorLog ol3 = new OperatorLog(); ol3.setOperator("猿来入此03"); ol3.setContent("猿来入此03 的网址是:https://yuanlrc.com0"); operatorLogs.add(ol3); model.addAttribute("name",siteConfig.getSiteName()); model.addAttribute("url",siteConfig.getSiteUrl()); logger.info("siteName =" + siteConfig.getSiteName()); logger.info("siteUrl =" + siteConfig.getSiteUrl()); //数据库操作 operatorLog.setCreateTime(new Date());//创建时间 operatorLog.setUpdateTime(new Date());//更新时间 operatorLog.setId(Long.valueOf(5));//加上id,是修改id=5下的数据;如果没有,则是新增该条数据 operatorLog.setOperator("[猿来入此beta]"); operatorLogService.save(operatorLog); /** ol1.setCreateTime(new Date()); ol1.setUpdateTime(new Date()); operatorLogService.save(ol1); ol2.setCreateTime(new Date()); ol2.setUpdateTime(new Date()); operatorLogService.save(ol2); ol3.setCreateTime(new Date()); ol3.setUpdateTime(new Date()); operatorLogService.save(ol3);*/ return "index"; } */ //查询单条数据 /* @RequestMapping(value="/test") @ResponseBody public OperatorLog index(Long id){ OperatorLog findById = operatorLogService.findById(id); if(findById != null){ OperatorLog operatorLog = new OperatorLog(); operatorLog.setOperator(findById.getOperator()); operatorLog.setContent(findById.getContent()); operatorLog.setCreateTime(findById.getCreateTime()); operatorLog.setUpdateTime(findById.getUpdateTime()); operatorLog.setId(findById.getId()); return operatorLog; } return operatorLogService.findById(id); } */ /* 查询所有的数据 @RequestMapping(value="/test01") @ResponseBody public List<OperatorLog> index(Long id){ return operatorLogService.findAll(); }*/ @RequestMapping(value="/test01") @ResponseBody public Boolean index(Long id){ OperatorLog operatorLog = new OperatorLog(); operatorLog.setOperator("[猿来入此Beta]"); operatorLog.setContent("猿来入此的网址是:https://yuanlrc.com"); operatorLog.setId(id); operatorLog.setCreateTime(operatorLogService.findById(id).getCreateTime()); operatorLogService.save(operatorLog); // operatorLogService.deleteAll();//删除所有数据 return true; } }
005 entity中的公共实体(baseEntity.java)和OperatorLog.java
baseEntity.java
package com.imooc.springboot.entity.admin; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; import java.io.Serializable; import java.util.Date; /* * 基础实体公共属性 * Serializable:实现序列化的接口 * */ @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class baseEntity implements Serializable{ @Column(name="id", nullable = false, length = 11) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;//唯一id //@CreatedDate 保存创建的时间 @Column(name = "create_time",nullable = false) @CreatedDate private Date createTime;//操作时间 //@LastModifiedDate 保存上次的时间 @Column(name = "update_time",nullable = false) @LastModifiedDate private Date updateTime;//更新时间 public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } }
OperatorLog.java
package com.imooc.springboot.entity.admin; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.Table; /* * 后台操作日志记录表 * */ @Entity @Table(name="yuanlrc_operator_log") @EntityListeners(AuditingEntityListener.class) public class OperatorLog extends baseEntity{ private static final long serialVersionUID = 1L;//添加一个序列化id @Column(name="operator", nullable = false, length = 18) private String operator; //操作者 @Column(name = "content", nullable = false, length = 128) private String content;//操作内容 public String getOperator() { return operator; } public void setOperator(String operator) { this.operator = operator; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }