博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博客系统-后台写博客
阅读量:4565 次
发布时间:2019-06-08

本文共 9589 字,大约阅读时间需要 31 分钟。

mapper层:

<?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.java1234.dao.BlogDao">

<resultMap type="Blog" id="BlogResult">

<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="summary" column="summary"/>
<result property="releaseDate" column="releaseDate"/>
<result property="clickHit" column="clickHit"/>
<result property="replyHit" column="replyHit"/>
<result property="content" column="content"/>
<result property="keyWord" column="keyWord"/>
<association property="blogType" column="typeId" select="com.java1234.dao.BlogTypeDao.findById"></association>
</resultMap>
<select id="countList" resultMap="BlogResult">
SELECT DATE_FORMAT(releaseDate,'%Y年%m月') AS releaseDateStr,COUNT(*) AS blogCount FROM t_blog GROUP BY DATE_FORMAT(releaseDate,'%Y年%m月') ORDER BY DATE_FORMAT(releaseDate,'%Y年%m月') DESC;
</select>
<select id="list" parameterType="Map" resultMap="BlogResult">
select * from t_blog
<where>
<if test="typeId!=null and typeId!='' ">
and typeId=#{typeId}
</if>
<if test="releaseDateStr!=null and releaseDateStr!='' ">
and DATE_FORMAT(releaseDate,'%Y年%m月')=#{releaseDateStr}
</if>
</where>
order by releaseDate desc
<if test="start!=null and size!=null">
limit #{start},#{size}
</if>
</select>
<select id="getTotal" parameterType="Map" resultType="Long">
select count(*) from t_blog
<where>
<if test="typeId!=null and typeId!='' ">
and typeId=#{typeId}
</if>
<if test="releaseDateStr!=null and releaseDateStr!='' ">
and DATE_FORMAT(releaseDate,'%Y年%m月')=#{releaseDateStr}
</if>
</where>
</select>
<select id="findById" parameterType="Integer" resultMap="BlogResult">
select * from t_blog where id=#{id}
</select>
<update id="update" parameterType="Blog">
update t_blog
<set>
<if test="clickHit!=null">
clickHit=#{clickHit},
</if>
<if test="replyHit!=null">
replyHit=#{replyHit},
</if>
</set>
where id=#{id}
</update>
<select id="getLastBlog" parameterType="Integer" resultMap="BlogResult">
SELECT * FROM t_blog WHERE id&lt;#{id} ORDER BY id DESC LIMIT 1;
</select>
<select id="getNextBlog" parameterType="Integer" resultMap="BlogResult">
SELECT * FROM t_blog WHERE id&gt;#{id} ORDER BY id ASC LIMIT 1;
</select>
<insert id="add" parameterType="Blog">
insert into t_blog values(null,#{title},#{summary},now(),0,0,#{content},#{blogType.id},#{keyWord})
</insert>
</mapper>

dao:

package com.java1234.dao;

import java.util.List;

import java.util.Map;

import com.java1234.entity.Blog;

/**

* 博客Dao接口
* @author Administrator
*
*/
public interface BlogDao {

/**

* 根据日期分月分组查询
* @return
*/
public List<Blog> countList();
/**
* 分页查询博客
* @param map
* @return
*/
public List<Blog> list(Map<String,Object> map);
/**
* 获取总记录数
* @param map
* @return
*/
public Long getTotal(Map<String,Object> map);
/**
* 根据id查找实体
* @param id
* @return
*/
public Blog findById(Integer id);
/**
* 更新博客信息
* @param blog
* @return
*/
public Integer update(Blog blog);
/**
* 获取上一个博客
* @param id
* @return
*/
public Blog getLastBlog(Integer id);
/**
* 获取下一个博客
* @param id
* @return
*/
public Blog getNextBlog(Integer id);
/**
* 添加博客信息
* @param blog
* @return
*/
public Integer add(Blog blog);
}

service

package com.java1234.service;

import java.util.List;

import java.util.Map;

import com.java1234.entity.Blog;

/**

* 博客Service接口
* @author Administrator
*
*/
public interface BlogService {

/**

* 根据日期分月分组查询
* @return
*/
public List<Blog> countList();
/**
* 分页查询博客
* @param map
* @return
*/
public List<Blog> list(Map<String,Object> map);
/**
* 获取总记录数
* @param map
* @return
*/
public Long getTotal(Map<String,Object> map);
/**
* 根据id查找实体
* @param id
* @return
*/
public Blog findById(Integer id);
/**
* 更新博客信息
* @param blog
* @return
*/
public Integer update(Blog blog);
/**
* 获取上一个博客
* @param id
* @return
*/
public Blog getLastBlog(Integer id);
/**
* 获取下一个博客
* @param id
* @return
*/
public Blog getNextBlog(Integer id);
/**
* 添加博客信息
* @param blog
* @return
*/
public Integer add(Blog blog);
}

serviceImpl

package com.java1234.service.impl;

import java.util.List;

import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.java1234.dao.BlogDao;

import com.java1234.entity.Blog;
import com.java1234.service.BlogService;

/**

* 博客Service实现类
* @author Administrator
*
*/
@Service("blogService")
public class BlogServiceImpl implements BlogService{

@Resource

private BlogDao blogDao;
public List<Blog> countList() {
return blogDao.countList();
}

public List<Blog> list(Map<String, Object> map) {

return blogDao.list(map);
}

public Long getTotal(Map<String, Object> map) {

return blogDao.getTotal(map);
}

public Blog findById(Integer id) {

return blogDao.findById(id);
}

public Integer update(Blog blog) {

return blogDao.update(blog);
}

public Blog getLastBlog(Integer id) {

return blogDao.getLastBlog(id);
}

public Blog getNextBlog(Integer id) {

return blogDao.getNextBlog(id);
}

public Integer add(Blog blog) {

return blogDao.add(blog);
}

}

controller:

package com.java1234.controller.admin;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.java1234.entity.Blog;

import com.java1234.service.BlogService;
import com.java1234.util.ResponseUtil;

import net.sf.json.JSONObject;

/**

* 管理员博客Controller层
* @author Administrator
*
*/
@Controller
@RequestMapping("/admin/blog")
public class BlogAdminController {

@Resource

private BlogService blogService;
/**
* 添加或者修改博客信息
* @param blog
* @param response
* @return
* @throws Exception
*/
@RequestMapping("/save")
public String save(Blog blog,HttpServletResponse response)throws Exception{
int resultTotal=0;
if(blog.getId()==null){
resultTotal=blogService.add(blog);
}else{
}
JSONObject result=new JSONObject();
if(resultTotal>0){
result.put("success", true);
}else{
result.put("success", false);
}
ResponseUtil.write(response, result);
return null;
}
}

页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>写博客页面</title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/icon.css">
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/locale/easyui-lang-zh_CN.js"></script>

<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/ueditor.config.js"></script>

<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/ueditor.all.min.js"> </script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="gbk" src="${pageContext.request.contextPath}/static/ueditor/lang/zh-cn/zh-cn.js"></script>

<script type="text/javascript">

function submitData(){
var title=$("#title").val();
var blogTypeId=$("#blogTypeId").combobox("getValue")
var content=UE.getEditor('editor').getContent()
var keyWord=$("#keyWord").val();
if(title==null || title==''){
alert("请输入标题!");
}else if(blogTypeId==null || blogTypeId==''){
alert("请选择博客类别!");
}else if(content==null || content==''){
alert("请填写内容!");
}else{
$.post("${pageContext.request.contextPath}/admin/blog/save.do",{'title':title,'blogType.id':blogTypeId,
'content':content,'summary':UE.getEditor('editor').getContentTxt().substr(0,155),'keyWord':keyWord},function(result){
if(result.success){
alert("博客发布成功!");
resultValue();
}else{
alert("博客发布失败!");
}
},"json");
}
}
function resultValue(){
$("#title").val("");
$("#blogTypeId").combobox("setValue","");
UE.getEditor('editor').setContent('');
$("#keyWord").val("");
}
</script>
</head>
<body style="margin: 10px">

<div id="p" class="easyui-panel" title="编写博客" style="padding: 10px">

<table cellspacing="20px">
<tr>
<td width="80px">博客标题:</td>
<td>
<input type="text" id="title" name="title" style="width: 400px"/>
</td>
</tr>
<tr>
<td>所属类别:</td>
<td>
<select class="easyui-combobox" style="width: 154px" id="blogTypeId" name="blogType.id" editable="false" panelHeight="auto">
<option value="">请选择博客类别...</option>
<c:forEach var="blogType" items="${blogTypeCountList }">
<option value="${blogType.id }">${blogType.typeName }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td valign="top">博客内容:</td>
<td>
<script id="editor" name="content" type="text/plain" style="width:100%;height:500px;"></script>
</td>
</tr>
<tr>
<td>关键字:</td>
<td>
<input type="text" id="keyWord" name="keyWord" style="width: 400px"/>&nbsp;(多个关键字中间用空格隔开)
</td>
</tr>
<tr>
<td></td>
<td>
<a href="javascript:submitData()" class="easyui-linkbutton" data-options="iconCls:'icon-submit'">发布博客</a>
</td>
</tr>
</table>
</div>

<!-- 实例化编辑器 -->

<script type="text/javascript">
var ue = UE.getEditor('editor');
</script>

 

</body>

</html>

 

转载于:https://www.cnblogs.com/csy666/p/6561707.html

你可能感兴趣的文章
字符串和数组使用时该注意的一些地方
查看>>
我们的故事墙--一切为了可视化
查看>>
进程与线程的区别?-转
查看>>
php array_walk
查看>>
yolo train:CUDA Error: an illegal memory access was encountered darknet: cuda.c:36:check_error
查看>>
java中作用域public private protected 以及不写的区别
查看>>
Ubuntu 安装java 1.8
查看>>
ASP.Net本地化/国际化解决方案原理和代码示例
查看>>
winform无法查看设计器
查看>>
[Json] 1 - 数据格式(转)
查看>>
bootstrap 模态框
查看>>
正则表达式匹配一个或多个汉字
查看>>
iOS基础项目之----图片控制器(控制图片的平移与缩放)
查看>>
Myeclipse去掉对JS等文件的验证
查看>>
struts标签bean:define
查看>>
iOS7相机隐私判断
查看>>
浅谈软件工程的管理活动
查看>>
《设计模式》杂记之里氏替换原则
查看>>
SpringMVC 中实体类父子类关系设置
查看>>
LINQ 简介
查看>>