packagecom.controller;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;importcom.page.PageUtil;importcom.pojo.BlogUsers;importcom.service.impl.BlogUsersServiceImpl;
@Controllerpublic classBlogUsersController {
@AutowiredprivateBlogUsersServiceImpl service;
@RequestMapping("login.do")publicString login(HttpServletRequest request,BlogUsers blogUsers){if(blogUsers!=null){
System.out.println("登录param success");
BlogUsers login=service.login(blogUsers);
request.getSession().setAttribute("login", login);
}else{
System.out.println("登录param fail");
}return "index.jsp";
}
@RequestMapping("findPage.do")
@ResponseBodypublic MapfindPage(PageUtil pageutil){
Map map=new HashMap();int pageno=1;int pagesize=3;int totalcount=service.getTotalCount();
Integer no=pageutil.getPageno();//第二次
if(no!=null){
pageno=no;
}
pageutil=newPageUtil(pageno, pagesize, totalcount);
List bloglist=service.findPage(pageutil);
map.put("bloglist", bloglist);
map.put("pageutil", pageutil);returnmap;
}
@RequestMapping("save.do")publicString save(HttpServletRequest request,BlogUsers blogUsers){
System.out.println("save blogUsers:"+blogUsers);
BlogUsers login=(BlogUsers) request.getSession().getAttribute("login");
System.out.println("login:"+login);
blogUsers.setUserid(login.getUserid());
service.saveBlog(blogUsers);return "index.jsp";
}
@RequestMapping("delete.do")publicString delete(Integer id){
service.deleteById(id);return "index.jsp";
}
@RequestMapping("findbyid.do")publicString findbyid(Integer id,HttpServletRequest request){
BlogUsers blog=service.findById(id);
request.setAttribute("blog", blog);return "update.jsp";
}
@RequestMapping("update.do")publicString update(HttpServletRequest request,BlogUsers blogUsers){
System.out.println("update blogUsers:"+blogUsers);
BlogUsers login=(BlogUsers) request.getSession().getAttribute("login");
System.out.println("login:"+login);
blogUsers.setUserid(login.getUserid());
service.updateBlog(blogUsers);return "index.jsp";
}
}
BlogUsersController
packagecom.mapper;importjava.util.List;importcom.page.PageUtil;importcom.pojo.BlogUsers;public interfaceBlogUsersMapper {/*** 分页查询
*@parampageutil
*@return
*/ListfindPage(PageUtil pageutil);/*** 根据id查询
*@paramid
*@return
*/BlogUsers findById(Integer id);/*** 登录
*@paramid
*@return
*/BlogUsers login(BlogUsers blogUsers);/*** 查询总条数
*@return
*/Integer getTotalCount();/*** 保存
*@paramblogUsers
*@return
*/Integer saveBlog(BlogUsers blogUsers);/*** 添加
*@paramblogUsers
*@return
*/Integer updateBlog(BlogUsers blogUsers);/*** 删除
*@paramblogUsers
*@return
*/Integer deleteById(Integer id);
}
BlogUsersMapper
select*from
(
select rownum r,b.*,username,nickname,mobile,address
from users u,blog b
where u.id=b.userid and rownum<=#{endrow}
) t
where t.r>#{startrow}
]]>
select u.id userid,username,password
from users u
where username=#{username} and password=#{password}
select b.*,username,nickname,mobile,address
from users u,blog b
where u.id=b.userid and b.id=#{id}
select count(*) from blog
insert into blog(id,content,publishtime,userid) values(3,#{content},#{publishtime},#{userid})
update blog set content=#{content},publishtime=#{publishtime},userid=#{userid} where id=#{id}
delete from blog where id=#{id}
BlogUsersMapper.xml
packagecom.page;/*** 分页工具类*/
public classPageUtil {privateInteger pageno;privateInteger pagesize;privateInteger totalcount;privateInteger totalpage;privateInteger startrow;privateInteger endrow;publicPageUtil() {
}publicPageUtil(Integer pageno, Integer pagesize, Integer totalcount) {this.pageno =pageno;this.pagesize =pagesize;this.startrow=(pageno-1)*pagesize;this.endrow=pageno*pagesize;this.totalcount =totalcount;this.totalpage=totalcount%pagesize==0?totalcount/pagesize:totalcount/pagesize+1;
}publicInteger getPageno() {returnpageno;
}public voidsetPageno(Integer pageno) {this.pageno =pageno;
}publicInteger getPagesize() {returnpagesize;
}public voidsetPagesize(Integer pagesize) {this.pagesize =pagesize;
}publicInteger getTotalcount() {returntotalcount;
}public voidsetTotalcount(Integer totalcount) {this.totalcount =totalcount;
}publicInteger getTotalpage() {returntotalpage;
}public voidsetTotalpage(Integer totalpage) {this.totalpage =totalpage;
}publicInteger getStartrow() {returnstartrow;
}public voidsetStartrow(Integer startrow) {this.startrow =startrow;
}publicInteger getEndrow() {returnendrow;
}public voidsetEndrow(Integer endrow) {this.endrow =endrow;
}
}
PageUtil
packagecom.pojo;importjava.io.Serializable;importjava.util.Date;importorg.springframework.format.annotation.DateTimeFormat;/*** 多方:多对一
* 多方:配置对象
*@authorpc
**/
public class BlogUsers implementsSerializable{/****/
private static final long serialVersionUID = 1L;privateInteger id;privateString content;
@DateTimeFormat(pattern="yyyy-MM-dd")privateDate publishtime;private Integer userid; //用户编号
private String username; //用户名
private String password; //用户密码
private Integer age; //年龄
private Integer sex; //性别
private String nickname; //昵称
private String mobile; //手机
private String address; //地址
private Integer supper; //是否是管理员
private String picpath; //头像名称
publicBlogUsers(String content, Date publishtime, Integer userid) {this.content =content;this.publishtime =publishtime;this.userid =userid;
}publicBlogUsers(String content, Date publishtime, Integer userid,
String username, String password, Integer age, Integer sex,
String nickname, String mobile, String address, Integer supper,
String picpath) {this.content =content;this.publishtime =publishtime;this.userid =userid;this.username =username;this.password =password;this.age =age;this.sex =sex;this.nickname =nickname;this.mobile =mobile;this.address =address;this.supper =supper;this.picpath =picpath;
}publicBlogUsers(Integer id, String content, Date publishtime,
Integer userid, String username, String password, Integer age,
Integer sex, String nickname, String mobile, String address,
Integer supper, String picpath) {this.id =id;this.content =content;this.publishtime =publishtime;this.userid =userid;this.username =username;this.password =password;this.age =age;this.sex =sex;this.nickname =nickname;this.mobile =mobile;this.address =address;this.supper =supper;this.picpath =picpath;
}publicBlogUsers() {
}publicInteger getId() {returnid;
}public voidsetId(Integer id) {this.id =id;
}publicString getContent() {returncontent;
}public voidsetContent(String content) {this.content =content;
}publicDate getPublishtime() {returnpublishtime;
}public voidsetPublishtime(Date publishtime) {this.publishtime =publishtime;
}publicInteger getUserid() {returnuserid;
}public voidsetUserid(Integer userid) {this.userid =userid;
}publicString getUsername() {returnusername;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}publicInteger getAge() {returnage;
}public voidsetAge(Integer age) {this.age =age;
}publicInteger getSex() {returnsex;
}public voidsetSex(Integer sex) {this.sex =sex;
}publicString getNickname() {returnnickname;
}public voidsetNickname(String nickname) {this.nickname =nickname;
}publicString getMobile() {returnmobile;
}public voidsetMobile(String mobile) {this.mobile =mobile;
}publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}publicInteger getSupper() {returnsupper;
}public voidsetSupper(Integer supper) {this.supper =supper;
}publicString getPicpath() {returnpicpath;
}public voidsetPicpath(String picpath) {this.picpath =picpath;
}
@OverridepublicString toString() {return "BlogUsers [address=" + address + ", age=" + age + ", content="
+ content + ", id=" + id + ", mobile=" + mobile + ", nickname="
+ nickname + ", password=" + password + ", picpath=" +picpath+ ", publishtime=" + publishtime + ", sex=" + sex + ", supper="
+ supper + ", userid=" + userid + ", username=" +username+ "]";
}
}
BlogUsers
packagecom.service;importjava.util.List;importcom.page.PageUtil;importcom.pojo.BlogUsers;public interfaceBlogUsersService {/*** 分页查询
*@parampageutil
*@return
*/ListfindPage(PageUtil pageutil);/*** 根据id查询
*@paramid
*@return
*/BlogUsers findById(Integer id);/*** 查询总条数
*@return
*/Integer getTotalCount();/*** 保存
*@paramblogUsers
*@return
*/Integer saveBlog(BlogUsers blogUsers);/*** 添加
*@paramblogUsers
*@return
*/Integer updateBlog(BlogUsers blogUsers);/*** 删除
*@paramblogUsers
*@return
*/Integer deleteById(Integer id);/*** 登录
*@paramid
*@return
*/BlogUsers login(BlogUsers blogUsers);
}
BlogUsersService
packagecom.service.impl;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importorg.springframework.transaction.annotation.Transactional;importcom.mapper.BlogUsersMapper;importcom.page.PageUtil;importcom.pojo.BlogUsers;importcom.service.BlogUsersService;
@Service
@Transactionalpublic class BlogUsersServiceImpl implementsBlogUsersService {
@Autowired(required=true)privateBlogUsersMapper mapper;publicInteger deleteById(Integer id) {//TODO Auto-generated method stub
returnmapper.deleteById(id);
}publicBlogUsers findById(Integer id) {//TODO Auto-generated method stub
returnmapper.findById(id);
}public ListfindPage(PageUtil pageutil) {//TODO Auto-generated method stub
returnmapper.findPage(pageutil);
}publicInteger getTotalCount() {//TODO Auto-generated method stub
returnmapper.getTotalCount();
}publicInteger saveBlog(BlogUsers blogUsers) {//TODO Auto-generated method stub
returnmapper.saveBlog(blogUsers);
}publicInteger updateBlog(BlogUsers blogUsers) {//TODO Auto-generated method stub
returnmapper.updateBlog(blogUsers);
}publicBlogUsers login(BlogUsers blogUsers) {//TODO Auto-generated method stub
returnmapper.login(blogUsers);
}
}
BlogUsersServiceImpl
--创建用户信息表--编号,用户名,密码,年龄,性别,昵称,手机,地址,管理员,图像地址
create table users
(
id number(10) primary key,
username varchar2(20) not null,
password varchar2(40) not null,
age number(10) not null,
sex number(10) not null,
nickname varchar2(20) not null,
mobile varchar2(15) not null,
address varchar2(50) not null,
supper number(10) not null,
picpath varchar2(100) not null);
select*from blog--创建微博表--编号,内容,发布时间,用户编号
create table blog
(
id number(10) primary key,
content varchar2(1000) not null,
publishtime date notnull,
userid number(10) references users(id)
);--创建序列
create sequence seq_users;
create sequence seq_blog;--插入数据
insert into users
(
id,username,password,age,sex,nickname,
mobile,address ,supper,picpath
)
values
(seq_users.nextval,'holly','123',18,0,'holly上神','13451802404','雨花台铁心桥新河苑',0,'holly.jpg');
insert into users
(
id,username,password,age,sex,nickname,
mobile,address ,supper,picpath
)
values
(seq_users.nextval,'倩倩','123',18,0,'倩倩上仙','13451805648','大桥北路',1,'qianqian.jpg');
insert into users
(
id,username,password,age,sex,nickname,
mobile,address ,supper,picpath
)
values
(seq_users.nextval,'死胖子','123',28,1,'死盘子小仙','13451804869','湖北非洲',1,'sipangzi.jpg');
insert into users
(
id,username,password,age,sex,nickname,
mobile,address ,supper,picpath
)
values
(seq_users.nextval,'肉肉','123',38,1,'肉肉小妖','13451885697','新街口八条巷',1,'rourou.jpg');
insert into users
(
id,username,password,age,sex,nickname,
mobile,address ,supper,picpath
)
values
(seq_users.nextval,'戴文','123',38,1,'文文上仙','13451888569','东海瀛洲',1,'daiwen.jpg');
commit;
insert into blog
(id,content,publishtime,userid)
values
(
seq_blog.nextval,'倩倩上仙已经下凡渡劫失败...',
to_date('2017-01-01','yyyy-MM-dd'),2);
insert into blog
(id,content,publishtime,userid)
values
(
seq_blog.nextval,'倩倩上仙已经去东海瀛洲去营救...',
to_date('2017-01-02','yyyy-MM-dd'),2);
insert into blog
(id,content,publishtime,userid)
values
(
seq_blog.nextval,'倩倩上仙中午下凡去看团子...',
to_date('2017-01-03','yyyy-MM-dd'),2);
insert into blog
(id,content,publishtime,userid)
values
(
seq_blog.nextval,'倩倩上仙中午已去十里桃源...',
to_date('2017-01-04','yyyy-MM-dd'),2);
insert into blog
(id,content,publishtime,userid)
values
(
seq_blog.nextval,'死胖子小仙已经去了诛仙台...',
to_date('2017-01-05','yyyy-MM-dd'),3);
commit;
select*from
(
select rownum r,b.*,username,nickname,mobile,address
from users u,blog b
where u.id=b.userid and rownum<=#{endrow}
) t
where t.r>#{startrow}
select rownum r,b.*,username,nickname,mobile,address
from users u,blog b
where u.id=b.userid and b.id=#{id}
select count(*) from users u,blog b where u.id=b.userid
blog.sql
$(function(){
findpage(1);//动态绑定只有1.8.3 有效
$(".page").live("click",function(){
var pageno=parseInt($("#pageno").text());
var totalpage=parseInt($("#totalpage").text());
var apagetext=$(this).text();if(apagetext=="首页"){
pageno=1;
}else if(apagetext=="上一页"){if(pageno>1){
pageno=pageno-1;
}else{
alert("已经是第一页!");return;
}
}else if(apagetext=="下一页"){if(pageno
pageno=pageno+1;
}else{
alert("已经是最后一页!");return;
}
}else if(apagetext=="末页"){
pageno=totalpage;
}//ajax回调
findpage(pageno);
});
});
function findpage(pageno){
$.ajax({
url:"findPage.do",
type:"post",
data:{"pageno":pageno},
dataType:"json",
async:true,
success:function(obj){
$("table").html("");
var str="
编号昵称手机内容发布时间操作";$.each(obj.bloglist,function(i){
str+="
";str+="
"+obj.bloglist[i].id+" ";str+="
"+obj.bloglist[i].nickname+" ";str+="
"+obj.bloglist[i].mobile+" ";str+="
"+obj.bloglist[i].content+" ";str+="
"+obj.bloglist[i].publishtime+" ";str+="
";str+=" 修改 ";
str+=" | ";
str+=" 删除 ";
str+="
";str+="
";});
$("table").append(str);
$("div").html("");
var pagestr="第"+obj.pageutil.pageno+"/"+obj.pageutil.totalpage+"页 ";
pagestr+="首页 ";
pagestr+="上一页 ";
pagestr+="下一页 ";
pagestr+="末页 ";
pagestr+="共"+obj.pageutil.totalcount+"条 ";
$("div").append(pagestr);
},
error:function(){
alert("error");
}
});
}
index.js
classpath:com/mapper/*.xml
springMvc-Servlet.xml
login.jsp
springMVC
org.springframework.web.servlet.DispatcherServlet
springMVC
*.do
Character
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
Character
/*
web.xml
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'index.jsp' starting pageindex.jsp
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'login.jsp' starting page登录
用户名: | |
密码: | |
login.jsp
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'save.jsp' starting page添加
内容: | |
发布时间: | |
save.jsp
String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
My JSP 'save.jsp' starting page修改
内容: | |
发布时间: | |
update.jsp