文末有源码连接
1.项目结构
注意。此处Biz,Dao,Controller,Model包应在Com.yang包下面 Application.java不在父目录,由于项目加载的时候@SpringBootApplication注解会去扫描当前目录以及子目录的文件,
如果其不是父目录,则无法扫描到对应的文件,然后运行项目就会出现访问Controller访问不了。因为压根就扫描不到
controller层里的文件,又谈何访问,所以就会404not found
这个小项目有两个表factions 和member表
江湖门派管理
index.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
江湖管理web控制台
addFactions.jsp
添加江湖门派页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
门派列表
ShowFactions.jsp
门派展示列表
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Insert title here
江湖门派统计表
门派添加
江湖门派管理首页
id
name
describe
number
操作
${item.id}
${item.factionsname}
${item.factionsdescribe}
${item.number}
删除
更新
saveFactions.jsp
更新
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Insert title here
addMember.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
门派列表
Show Member.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Insert title here
江湖门派人才管理
为门派添加人才
所属帮派
帮派简介
个人id
帮派id
姓名
个人简介
操作
${item.factions.factionsname}
${item.factions.factionsdescribe}
${item.selfid}
${item.factionsid}
${item.selfname}
${item.introduction}
删除
更新
FactionsDao.java
package com.yang.Dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.yang.Model.Factions;
@Mapper
public interface FactionsDao {
//添加门派方法
public int InsertFactions(Factions factions);
//得到所有门派
public List SearchAllFactions();
//删除门派
public int DeleteFactions(int id);
//根据id查询单个门派
public Factions SearchSingleFactions(int id);
//update更改门派信息
public int SaveSingleFactions(Factions factions);
}
Member.java
package com.yang.Dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.bind.annotation.RequestParam;
import com.yang.Model.Member;
@Mapper
public interface MemberDao {
//添加门派成员
public int InsertMember(Member member);
//删除所有门派成员
public int DeleteAllMember(int id);
//查询所有门派成员
public List SearchAllMember();
//删除单个门派成员
public int DeleteMember(int selfid);
//查询单个门派成员
public Member SearchSingleMember(int selfid);
//update 更新门派成员信息
public int SaveMember(Member member);
}
FactionsBiz.java
package com.yang.Biz;
import java.util.List;
import com.yang.Model.Factions;
public interface FactionsBiz {
public boolean InsertFactionsData(Factions factions);
public List SearchAllFactionsData();
public int DeleteFactionsData(int id);
public Factions SearchSingleFactionsData(int id);
public int SaveSingleDFactionsData(Factions factions);
}
FactionsBizImpl。java
package com.yang.Biz;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yang.Dao.FactionsDao;
import com.yang.Dao.MemberDao;
import com.yang.Model.Factions;
@Service
public class FactionsBizimpl implements FactionsBiz {
@Resource
private FactionsDao dao;
@Override
public boolean InsertFactionsData(Factions factions) {
// TODO Auto-generated method stub
boolean flag = false;
int row = 0;
row = dao.InsertFactions(factions);
if(row>0) {
flag=true;
}
return flag;
}
@Override
public List SearchAllFactionsData() {
// TODO Auto-generated method stub
List list = null;
list = dao.SearchAllFactions();
return list;
}
@Override
public int DeleteFactionsData(int id) {
// TODO Auto-generated method stub
int row = 0;
row = dao.DeleteFactions(id);
return row;
}
@Override
public Factions SearchSingleFactionsData(int id) {
// TODO Auto-generated method stub
return dao.SearchSingleFactions(id);
}
@Override
public int SaveSingleDFactionsData(Factions factions) {
// TODO Auto-generated method stub
return dao.SaveSingleFactions(factions);
}
}
MemberDao.java
package com.yang.Biz;
import java.util.List;
import com.yang.Model.Member;
public interface MemberBiz {
public int DeleteAllMemberData(int id);
public int InsertMemberData(Member member);
public List SearchAllMemberData();
public int DeleteMemberData(int selfid);
public Member SearchSingleMemberData(int selfid);
public int SaveMemberData(Member member);
}
MemberDaoImpl.java
package com.yang.Biz;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yang.Dao.MemberDao;
import com.yang.Model.Member;
@Service
public class MemberBizimpl implements MemberBiz {
@Resource
private MemberDao dao;
@Transactional
@Override
public int DeleteAllMemberData(int id) {
// TODO Auto-generated method stub
int row = 0;
row = dao.DeleteAllMember(id);
return row;
}
@Override
public int InsertMemberData(Member member) {
// TODO Auto-generated method stub
int row = 0;
row = dao.InsertMember(member);
return row;
}
@Override
public List SearchAllMemberData() {
// TODO Auto-generated method stub
List list= dao.SearchAllMember();
return list;
}
@Override
public int DeleteMemberData(int selfid) {
// TODO Auto-generated method stub
return dao.DeleteMember(selfid);
}
@Override
public Member SearchSingleMemberData(int selfid) {
// TODO Auto-generated method stub
return dao.SearchSingleMember(selfid);
}
@Override
public int SaveMemberData(Member member) {
// TODO Auto-generated method stub
return dao.SaveMember(member);
}
}
FactionController.java
package com.yang.Controller;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.yang.Biz.FactionsBiz;
import com.yang.Biz.MemberBiz;
import com.yang.Model.Factions;
import com.yang.Model.Member;
@Controller
public class FactionsController {
@Resource
private FactionsBiz biz;
@Resource
private MemberBiz mbiz;
@RequestMapping("/AddFactions")
public String AddFactions(Factions factions,HttpServletRequest request) {
String id = request.getParameter("id");
boolean flag = biz.InsertFactionsData(factions);
System.out.println(flag);
if(flag) {
return "redirect:/findAllFactions";
}
else {
return "redirect:/error.html";
}
}
@RequestMapping("/findAllFactions")
public String findAllFactions(HttpServletRequest request) {
List list = null;
list = biz.SearchAllFactionsData();
request.setAttribute("list",list);
return "ShowFactions.jsp";
}
@RequestMapping("/deleteFactions")
public String deleteFactions(@RequestParam(value="id") int id) {
int row = 0;
int row0 = mbiz.DeleteAllMemberData(id);
row = biz.DeleteFactionsData(id);
if(row>0) {
return "redirect:/findAllFactions";
}
else {
return "redirect:/error.html";
}
}
@RequestMapping("/updateFactions")
public String updateFactions(HttpServletRequest request,@RequestParam(value="id") int id) {
Factions factions = biz.SearchSingleFactionsData(id);
request.setAttribute("factions", factions);
return "saveFactions.jsp";
}
@RequestMapping("/saveFactions")
public String saveFactions(HttpServletRequest request,@RequestParam(value="id") int id,@RequestParam(value="oldid") int oldid,Factions factions) {
String factionsname = request.getParameter("factionsname");
String factionsdescribe = request.getParameter("factionsdescribe");
String number = request.getParameter("number");
factions = new Factions();
factions.setId(id);
factions.setFactionsname(factionsname);
factions.setFactionsdescribe(factionsdescribe);
factions.setNumber(Integer.parseInt(number));
factions.setOldid(oldid);
int row = biz.SaveSingleDFactionsData(factions);
if(row>0) {
return "redirect:/findAllFactions";
}
else {
return "redirect:/error.html";
}
}
}
memberController.java
package com.yang.Controller;
/**
* code is far away from bug with the animal protecting
* ┏┓ ┏┓
* ┏┛┻━━━┛┻ ┓
* ┃ ┃
* ┃ ~ ~ ┃
* ┃ ┳┛ ┗┳ ┃
* ┃ ┃
* ┃ ┻ ┃
* ┃ ┃
* ┗━┓ ┏━┛
* ┃ ┃
* ┃ ┃
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫┃┫┫
* ┗┻┛┗┻┛
*
*/
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.annotations.ResultMap;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.yang.Biz.FactionsBiz;
import com.yang.Biz.MemberBiz;
import com.yang.Model.Factions;
import com.yang.Model.Member;
@Controller
public class MemberController {
@Resource
private FactionsBiz fbiz;
@Resource
private MemberBiz biz;
@RequestMapping("/InitAddMember")
public String InitAddMember(HttpServletRequest request) {
List list = fbiz.SearchAllFactionsData();
request.setAttribute("list",list);
return "addMember.jsp";
}
@RequestMapping("/AddMember")
public String AddMember(HttpServletRequest request,Member member,@RequestParam(value="selfid") int selfid,@RequestParam(value="factionsid") int factionsid) {
String selfname = request.getParameter("selfname");
String introduction = request.getParameter("introduction");
member = new Member();
member.setSelfid(selfid);
member.setFactionsid(factionsid);
member.setSelfname(selfname);
member.setIntroduction(introduction);
int row = 0;
row = biz.InsertMemberData(member);
if(row>0) {
return "redirect:/findAllMember";
}else {
return "redirect:/error.html";
}
}
@RequestMapping("/findAllMember")
public String findAllMember(HttpServletRequest request) {
List list = biz.SearchAllMemberData();
request.setAttribute("list",list);
return "ShowMember.jsp";
}
@RequestMapping("/deleteMember")
public String deleteMember(@RequestParam(value="selfid") int selfid){
int row=biz.DeleteMemberData(selfid);
if(row>0) {
return "redirect:/findAllMember";
}else {
return "redirect:/error.html";
}
}
@RequestMapping("/updateMember")
public String updateMember(HttpServletRequest request,@RequestParam(value="selfid") int selfid) {
List list = fbiz.SearchAllFactionsData();
Member member = biz.SearchSingleMemberData(selfid);
request.setAttribute("list", list);
request.setAttribute("member", member);
return "saveMember.jsp";
}
@RequestMapping("/SaveMember")
public String SaveMember(HttpServletRequest request,Member member,@RequestParam(value="factionsid") int factionsid,@RequestParam(value="oldselfid") int oldselfid,@RequestParam(value="selfid") int selfid) {
String selfname = request.getParameter("selfname");
String introduction = request.getParameter("introduction");
member = new Member();
member.setSelfid(selfid);
member.setFactionsid(factionsid);
member.setIntroduction(introduction);
member.setSelfname(selfname);
member.setOldselfid(oldselfid);
int row = biz.SaveMemberData(member);
if(row>0) {
return "redirect:/findAllMember";
}else {
return "redirect:/error.html";
}
}
}
Factions.java
package com.yang.Model;
public class Factions {
private int id;
private String factionsname;
private String factionsdescribe;
private int number;
public int oldid;
public int getOldid() {
return oldid;
}
public void setOldid(int oldid) {
this.oldid = oldid;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFactionsname() {
return factionsname;
}
public void setFactionsname(String factionsname) {
this.factionsname = factionsname;
}
public String getFactionsdescribe() {
return factionsdescribe;
}
public void setFactionsdescribe(String factionsdescribe) {
this.factionsdescribe = factionsdescribe;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
Member.java
package com.yang.Model;
import java.util.List;
public class Member {
private int oldselfid;
public int getOldselfid() {
return oldselfid;
}
public void setOldselfid(int oldselfid) {
this.oldselfid = oldselfid;
}
private int selfid;
private int factionsid;
private String selfname;
private String introduction;
private Factions factions;
public int getSelfid() {
return selfid;
}
public void setSelfid(int selfid) {
this.selfid = selfid;
}
public int getFactionsid() {
return factionsid;
}
public void setFactionsid(int factionsid) {
this.factionsid = factionsid;
}
public String getSelfname() {
return selfname;
}
public void setSelfname(String selfname) {
this.selfname = selfname;
}
public String getIntroduction() {
return introduction;
}
public void setIntroduction(String introduction) {
this.introduction = introduction;
}
public Factions getFactions() {
return factions;
}
public void setFactions(Factions factions) {
this.factions = factions;
}
}
MyBatis插入语句
insert into factions values(#{id},#{factionsname},#{factionsdescribe},#{number})
delete from factions where id=#{id}
update factions set id = #{id}, factionsname = #{factionsname},factionsdescribe=#{factionsdescribe},number=#{number} where id=#{oldid}
delete from member where factionsid = #{id}
insert into member values(#{selfid},#{factionsid},#{selfname},#{introduction})
delete from member where selfid = #{selfid}
update member set selfid=#{selfid} ,factionsid=#{factionsid},selfname=#{selfname},introduction=#{introduction} where selfid = #{oldselfid}
MyBatis配置
mybatis.xml
数据库连接配置
appliaction.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisdemo?serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.config-location=classpath:MyBatis.xml
源码下载
链接:点击这里 密码:bmwt