简单的一个月之设计实现内容1

需求:简单的新闻管理系统,实现简单的增删改查功能

1.数据库表的建立   ID非空,数据类型看着给

 

2.写实体(entity)News.java   要与数据库中的字段相对应,(id,optimistic我没写,问题不大)
  1 package com.pay.boss.entity; //封装好的entity包,直接引用2 3 import java.util.Date;  //日期工具4 5 import javax.persistence.Column;6 import javax.persistence.Entity;7 import javax.persistence.EnumType;8 import javax.persistence.Enumerated;9 import javax.persistence.SequenceGenerator;10 import javax.persistence.Table;11 12 import com.pay.boss.enums.NewsCategory;//枚举13 import com.pay.boss.enums.NewsStatus;14 15 /**16  * Title: 新闻需求17  */18 19 @Entity20 @SequenceGenerator(name = "SEQ_STORE", sequenceName = "SEQ_NEWS_ID", allocationSize=1)  //主键生成策略21 @Table(name = "NEWS")   //映射数据库的一个表,表名为news22 public class News extends AutoIDEntity{23     24     private String newsNo;       //新闻编号25     private String summary;      // 摘要26     private String title;        //题目27     private String content;      //内容28     private String imgUrl;       // 图片路径29     private String author;       //作者30     private NewsCategory newsCategory; //新闻类别31     private NewsStatus status;        //新闻状态;      32     private Date createTime;     // 创建时间33     private Date updateTime;     //修改时间34     35     36     @Column(name = "NEWS_NO") //列的注解,显示name37     public String getNewsNo() {38         return newsNo;39     }40     public void setNewsNo(String newsNo) {41         this.newsNo = newsNo;42     }43     44     @Column(name = "SUMMARY")45     public String getSummary() {46         return summary;47     }48     public void setSummary(String summary) {49         this.summary = summary;50     }51     52     @Column(name = "TITLE")53     public String getTitle() {54         return title;55     }56     public void setTitle(String title) {57         this.title = title;58     }59     60     @Column(name = "CONTENT")61     public String getContent() {62         return content;63     }64     public void setContent(String content) {65         this.content = content;66     }67     68 69     @Column(name = "IMG_URL")70     public String getImgUrl() {71         return imgUrl;72     }73     public void setImgUrl(String imgUrl) {74         this.imgUrl = imgUrl;75     }76     77     @Column(name = "AUTHOR")78     public String getAuthor() {79         return author;80     }81     public void setAuthor(String author) {82         this.author = author;83     }84     85     @Enumerated(EnumType.STRING)  //枚举注解86     @Column(name = "NEWS_CATEGORY")87     public NewsCategory getNewsCategory() {88         return newsCategory;89     }90     public void setNewsCategory(NewsCategory newsCategory)         91        {92         this.newsCategory = newsCategory;93     }94     95     @Enumerated(EnumType.STRING)96     @Column(name = "STATUS")97     public NewsStatus getStatus() {98         return status;99     }
100     public void setStatus(NewsStatus status) {
101         this.status = status;
102     }
103     
104     @Column(name = "CREATE_TIME", columnDefinition = "DATE")
105     public Date getCreateTime() {
106         return createTime;
107     }
108     public void setCreateTime(Date createTime) {
109         this.createTime = createTime;
110     }
111     
112     @Column(name = "UPDATE_TIME", columnDefinition = "DATE")
113     public Date getUpdateTime() {
114         return updateTime;
115     }
116     public void setUpdateTime(Date updateTime) {
117         this.updateTime = updateTime;
118     }
119 }

 3.写对应的dao接口及其实现

接口:NewsDao

package com.pay.boss.dao;import com.pay.boss.entity.News;public interface NewsDao {public News create(News news);  //增加信息;public News update(News news);  //更新信息;public void delete(News news);  //删除信息;public News findByNewsNo(String newsNO);  //通过编号查找    public News findById(Long id);  //通过id查找     id:逻辑主键;
    
}

 

实现:NewsDaoImpl

package com.pay.boss.dao.impl;import com.pay.boss.dao.DAOException;  //dao异常,用于抛出;
import com.pay.boss.dao.NewsDao;
import com.pay.boss.entity.News;
import com.pay.boss.dao.EntityDao;   //Ioc容器(依赖)注入sessionFactory;可以不定义这个dao,直接进行session注入;public class NewsDaoImpl implements NewsDao {private EntityDao entityDao;    //注入sessionFactory;public EntityDao getEntityDao(){return entityDao;                    //get可以不需要;
    }public void setEntityDao(EntityDao entityDao) {this.entityDao = entityDao;}@Override    //重写public News create(News news) throws DAOException {entityDao.persist(news);  //将实体保存在数据库中;return news;}@Overridepublic News update(News news) throws DAOException {return entityDao.merge(news);  //更新实体对象或者将实体保存在数据库中;
    }@Overridepublic void delete(News news) {entityDao.remove(news);}@Overridepublic News findByNewsNo(String newsNo) {String hql = "from News where newsNo=?";  //利用hql语言进行预编译;return entityDao.findUnique(News.class, hql, newsNo);}@Overridepublic News findById(Long id) {return entityDao.findById(News.class, id);}}

接下来开始写前端jsp页面

转载于:https://www.cnblogs.com/erwei/p/9485693.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 你会经常用到伪元素吗?一般都用在哪方面?

[css] 你会经常用到伪元素吗?一般都用在哪方面? 清浮动个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

分享一个有趣的网站“让我帮你百度一下“

如何解决同事的弱智问题,分享一个有趣的网站 日常工作中,总有些人会问你一些弱智的问题 你只需要三步就可以完美解决: 1.打开这个链接: 让我帮你百度一下 2.输入他的问题、点回车 3.复制结果链接甩到他的脸上_ hahahhahahaha 这样就解决了一切烦恼&a…

base64转图片

关于c#中Base64编码转图片 。个人建议存放文件时,文件名改为文件MD5值。同一个文件的MD5值相同。只要在上传的时候判断一下文件的MD5值。可以避免文件的重复上传哦 //图片的BASE64编码,var img Context.Request["imgbase64"]; #region base64转图片stri…

[css] 用css画出一把刻度尺

[css] 用css画出一把刻度尺 <div classruler><div classcm><div classmm></div><div classmm></div><div classmm></div><div classmm></div><div classmm></div><div classmm></div>&l…

[css] 说说position:sticky有什么应用场景

[css] 说说position:sticky有什么应用场景 吸顶效果个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

hdu 4738 Caocao's Bridges 求无向图的桥【Tarjan】

<题目链接> 题目大意&#xff1a; 曹操在长江上建立了一些点&#xff0c;点之间有一些边连着。如果这些点构成的无向图变成了连通图&#xff0c;那么曹操就无敌了。周瑜为了防止曹操变得无敌&#xff0c;就打算去摧毁连接曹操的点的桥。但是诸葛亮把所有炸弹都带走了&…

[css] 如何使用css给一个正方形添加一条对角斜线?

[css] 如何使用css给一个正方形添加一条对角斜线&#xff1f; background:linear-gradient(45deg,transparent 49.5%,deeppink 49.5%,deeppink 50.5%,transparent 50.5%);个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。…

SQL Server2014 SP2新增的数据库克隆功能

SQL Server2014 SP2新增的数据库克隆功能 原文:SQL Server2014 SP2新增的数据库克隆功能SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtestuse testtest go --创建表 create table testtest(id int ,name varchar(20)) --插入数据…

[css] 举例说明CSS特性检测的方式有哪些?

[css] 举例说明CSS特性检测的方式有哪些&#xff1f; 原生的 supports 的性能肯定是最好的&#xff0c;而且无需引入外部 javascript &#xff0c;首推这个&#xff0c;但是无奈兼容问题&#xff0c;目前来看不是最好的选择。Modernizr 功能强大&#xff0c;兼容性好&#xff…

DIV布局、浮动

2018-08-17 float属性转载于:https://www.cnblogs.com/twinkle-star/p/9493415.html

工作328:uni-局部过滤器处理数据

toChangeLess(e){console.log(e)/* 过滤数据中的循环请求*/if(e0){return "不循环"}else if(e12345){return "周一到周五循环"}else if(e12345678){return "每日循环"}}运行结果

css ——行级元素与块级元素解析

一 . 先说说二者的本质区别吧&#xff1a; 行级元素是可以和其他元素处于一行&#xff0c;不用必须另起一行。块级元素是每个块级元素都是独自占一行&#xff0c;其后的元素也只能另起一行&#xff0c;并不能两个元素共用一行。 二 .下面看看各自的特点&#xff1a; 块级元素 1…

工作329:uni-数据为空不显示

<u-image v-if"tableData[item]!null" style"display: block;float: left;margin-left: 26rpx;margin-top: 26rpx;" width"120rpx" height"120rpx" :src"tableData[item]"></u-image>

vue.js框架:数组的各种变异方法

今天阅读vue官网的学习教程&#xff0c;看到一个观察数组的变异方法。变异方法&#xff1f;&#xff1f;&#xff1f;excuse me??什么东西&#xff1f;&#xff1f;guide就给了这么一堆东西&#xff1a; 原来这些方法如下&#xff1a; push() pop() shift() uns…

CodeForces - 894E Ralph and Mushrooms (强连通缩点+dp)

题意&#xff1a;一张有向图&#xff0c;每条边上都有wi个蘑菇&#xff0c;第i次经过这条边能够采到w-(i-1)*i/2个蘑菇&#xff0c;直到它为0。问最多能在这张图上采多少个蘑菇。 分析&#xff1a;在一个强连通分量内&#xff0c;边可以无限次地走直到该连通块内蘑菇被采完为止…

工作328:uni-两个页面对象传递

getDetailList(record){console.log(record)uni.navigateTo({url:../formdaliyList/formdaliyList?recordencodeURIComponent(JSON.stringify(record))})},onLoad(e){/* JSON.parse() */let obj JSON.parse(decodeURIComponent(e.record));console.log(obj)},

vue-js 特殊变量$event常识

背景 如果我们要阻止默认事件&#xff0c;在 chrome 等浏览器中&#xff0c;我们可能要写一个&#xff1a; event.preventDefault(); 而在 IE 中&#xff0c;我们则需要写&#xff1a; event.returnValue false; jquery &#xff0c;跨浏览器的实现&#xff0c;我们统一只…

七、线性表的链式存储结构

1、问题引入 开发数组类模板的原因在于&#xff1a;在创建基于顺序存储结构的线性表时&#xff0c;发现这样的线性表可能被误用&#xff0c;因为重载了数组访问操作符&#xff0c;使用时跟数组类似&#xff0c;但是线性表和数组有很大的区别&#xff0c;所以激发了新的需求&…

工作331:uni-修改未完成数据动态渲染

<view v-for"(item,index) in TaskUnComplete" class"u-m-b-12" style"margin-left:30rpx;margin-top: 76rpx;">未完成-{{index1}}条</view><view v-for"(item,index) in TaskUnComplete"><view style"padd…

使用vue-CLI构建vue工程项目

vue2是对新手很友好的MVVM框架&#xff0c;有完善的官方中文文档&#xff0c;阅读起来也非常容易理解&#xff0c;由浅入深&#xff0c;示例完整。同时官方也提供了一个开箱即用的 vue-cli 帮我们生成一个完整的项目框架。 vue.js 著名的全家桶系列, 包含了&#xff0c; vue-ro…