简单的一个月之设计实现内容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,一经查实,立即删除!

相关文章

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

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

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)) --插入数据…

工作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常识

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

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

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

工作333:uni-增加添加成功提示

this.$u.api.getPartyAdd(this.form).then(res > {console.log(res)if(res.data.code200){/* uni.showLoading({title: 添加中}); */this.$refs.uToast.show({title: res.data.message,type: success,})setTimeout(function () {uni.navigateTo({url: "../notice_notic…

HDU 6064 RXD and numbers

传送门 有向图生成树计数 (度数 ->入度->外向树) BEST定理 (不定起点的欧拉回路个数某点为根的外向树个数(存在欧拉回路->每个点为根的外向树个数相等)*(每个点的度数(存在欧拉回路-&g…

vue.js框架的生命周期:常用钩子函数

//组件实例化之前执行的函数 beforeCreate:function () { alert("组件实例化之前执行的函数") }, //组件实例化完毕执行的函数 created:function () { alert("组件实例化完毕执行的函数") }, //组件挂载前,页面仍未展示,但虚拟Dom已…

工作334:uni-控制整个label区域可选

<navigator url"../LevineHua-editor/LevineHua-editor" class"single"><u-form-item label"内容" label-width"100%" prop"content" class"label-left"><u-input placeholder"请输入公告内容…

零基础Python知识点回顾(一)

如果你是小白&#xff0c;建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符 输入检查是否已经安装pip,一般安装了python都会有的。 >pip (有的话会提示一大串说明&#xff0c;没有的话会提示没有) 假设有了pip&#xff0c;下面来用pip 来安装…

工作335:uni-增加表单验证

<u-form-item prop"account"><u-input v-model"form.account" placeholder"请输入账号"></u-input></u-form-item><u-form-item prop"password"><u-input class"inp" v-model"form.p…

使用IDEA 创建SpringBoot项目

首先File ->New -> project ->Spring Initializr ->next 如果没有Spring Initializr 选择右下角config ->setting 搜索Springboot 勾选 然后apply ok 第二步&#xff1a; 在项目中写上自己需要的名称 type 选择 maven project ->next 第三步&#xff1a;…

工作335:uni-ele-el-date-picker限制选择时间

<el-form-item :label"index 1 .发布时间"><el-date-picker v-model"task.start_time" :picker-options"pickerOptions" :disabled"viewMode"/></el-form-item>pickerOptions: {disabledDate(time) {return time…

PhantomJS 一个隐形的浏览器

下载地址: http://phantomjs.org/download.html 使用方法: 下载压缩包解压出来找到phantomjs.exe 放到python的根目录下 转载于:https://www.cnblogs.com/kaibindirver/p/9509684.html

线段树、树状数组

A 树状数组:1 #include<iostream>2 #include<cstdio>3 #include<algorithm>4 #include <string.h>5 using namespace std;6 // 1h / 10min7 const int maxn 32001;8 int c[maxn],ans[maxn]; // c[i] : 以i为横坐标的星星左侧和下侧星星的个数&#xf…

json-server的使用

这里跳过node安装以及npm安装 先全局安装&#xff1a;npm install json-server -g在桌面创建一个空的文件夹JSONSERVERcd 进入到这个文件夹执行npm init --yes&#xff0c;这时候文件夹会多出一个package.json的文件项目再安装一次&#xff1a;npm install json-server --sav…

Eclipse 使用 CodeMix 插件 开发 Vue.js

前言&#xff1a;对比vscode&#xff0c; codemix集成在eclipse插件里面&#xff0c;符合使用习惯 1、下载并安装node.js 官网地址&#xff1a; https://nodejs.org/en/ &#xff0c; 当前版本是 node-v8.11.4-x64.msi&#xff0c; 安装过程直接默认选项即可。 安装完成后&…

开发模式下浏览器不支持ES6

在工程项目下安装babel: cnpm install babel-preset-stage-2 --sava-dev 然后在工程项目下找到.babelrc文件打开并在这个位置添加这个参数&#xff0c;如下图 最后&#xff0c;cnpm run dev重启一下项目即可

vue项目打包成APP

点击查看转载源 事先准备&#xff0c;开发完成的web app项目&#xff08;也可以利用vue-cli脚手架构建vue模板项目&#xff09;&#xff0c;npm run dev可以正常预览的项目 1&#xff0c;将项目目录下config文件内index.js中assetsPublicPath修改为 assetsPublicPath: ./ 2&…

vue开发小程序Demo

1-准备 电脑安装好node.js环境&#xff0c;安装好npm&#xff0c;安装好微信web开发者工具&#xff0c;选择一款你喜欢的编辑器&#xff0c;我用的是WebStorm 2-打开webStorm&#xff0c;新建一个项目空间然后在终端执行以下命令&#xff0c;我这里是Windows下的WebStorm自带…