用增删改查简写学生信息表

示例图:

 第一步,创建数据库:

【第一个排序自动递增必须打勾,否则无法新增】

第二步, 创包:

①创建entity包——》EmpInfo.java

【myeclipse 快捷键:alt + shift + s

idea 快捷键: fn + alt + ins】

public class EmpInfo {
	private int empno;
	private String empname;
	private String empsex;
	private int empage;
	private String job;
	private int sal;
	private String deptname;
	
	public int getEmpno() {
		return empno;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public String getEmpname() {
		return empname;
	}
	public void setEmpname(String empname) {
		this.empname = empname;
	}
	public String getEmpsex() {
		return empsex;
	}
	public void setEmpsex(String empsex) {
		this.empsex = empsex;
	}
	public int getEmpage() {
		return empage;
	}
	public void setEmpage(int empage) {
		this.empage = empage;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public int getSal() {
		return sal;
	}
	public void setSal(int sal) {
		this.sal = sal;
	}
	public String getDeptname() {
		return deptname;
	}
	public void setDeptname(String deptname) {
		this.deptname = deptname;
	}

}

 ②创建mapper包——》EmpInfoMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="com.zq.mapper.EmpInfoMapper">

<!-- 增	学生信息 -->
	<insert id="add" parameterType="com.zq.entity.EmpInfo">
		insert into EmpInfo values(null,#{empname},#{empsex},#{empage},#{job},#{sal},#{deptname})
	</insert>	

<!-- 删	学生方法 -->
	<delete id="del" parameterType="Integer">
		delete from EmpInfo where empno=#{empno}
	</delete>
	
<!-- 改	学生方法 -->
	<update id="upd" parameterType="com.zq.entity.EmpInfo">
		update EmpInfo set empname=#{empname},empsex=#{empsex},empage=#{empage},job=#{job},sal=#{sal},deptname=#{deptname} 
		where empno=#{empno}
	</update>
	
<!-- 查	全部学生信息 -->
	<select id="all" resultType="com.zq.entity.EmpInfo">
		select * from EmpInfo
	</select>
<!-- 查	单个学生信息 -->
	<select id="one" parameterType="Integer" resultType="com.zq.entity.EmpInfo">
		select * from EmpInfo where empno=#{empno}
	</select>
	
</mapper>

③创建Dao包——》EmpInfoDao.java

import java.util.List;
import com.zq.entity.EmpInfo;
import com.zq.util.BaseSqlSession;

public class EmpInfoDao {
//	增	学生方法
	public static int addEmpInfo(EmpInfo stu){
		//定义变量保存受影响行数
		int count = 0;
		//执行新增SQL语句,接收一个受影响行数
		count = BaseSqlSession.getSession().insert("com.zq.mapper.EmpInfoMapper.add",stu);
		//关闭资源
		BaseSqlSession.closeSession();
		return count;
	}
	
//	删	学生方法
	public static int delteEmpInfo(int stuid){
		int count = 0;
		count = BaseSqlSession.getSession().delete("com.zq.mapper.EmpInfoMapper.del",stuid);
		BaseSqlSession.closeSession();
		return count;
	}

//	改	学生方法
	public static int updEmpInfo(EmpInfo stu){
		int count = 0;
		count = BaseSqlSession.getSession().update("com.zq.mapper.EmpInfoMapper.upd",stu);
		BaseSqlSession.closeSession();
		return count;
	}
		
//	查	全部学生信息方法
	public static List<EmpInfo> getAllEmpInfo(){
		//使用MyBatis执行查询
		List<EmpInfo> stuList = BaseSqlSession.getSession().selectList("com.zq.mapper.EmpInfoMapper.all");
		//关闭
		BaseSqlSession.closeSession();
		return stuList;
	}	

//	查	单个学生信息
	public static EmpInfo selectone(int stuid){
		EmpInfo selectOne = BaseSqlSession.getSession().selectOne("com.zq.mapper.EmpInfoMapper.one",stuid);
		BaseSqlSession.closeSession();
		return selectOne;
	}
}

④创建servlet——》EmpInfoServlet.java

【doPost(request, response);】必加,否则容易跳转失败

import java.io.IOException;

import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;



import com.zq.entity.EmpInfo;
import com.zq.Dao.EmpInfoDao;




public class EmpInfoServlet extends HttpServlet {


	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;




	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	
	
	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//设置字符集编码
		request.setCharacterEncoding("utf-8");
		
		//获取code值判断进行何种操作
		int code=Integer.parseInt(request.getParameter("code"));
		HttpSession session=request.getSession();
		
		//创建学生对象
		EmpInfo stu = new EmpInfo();
		//调用查询所有学生信息方法,返回一个学生对象集合
		if(code==1){
			
			List<EmpInfo> stuList = EmpInfoDao.getAllEmpInfo();
			
			//跳转页面-->请求转发
			request.setAttribute("stuList", stuList);
			request.getRequestDispatcher("all.jsp").forward(request, response);
			
			//新增学生方法
		}else if(code==2){
			
			String empname=request.getParameter("empname");
			String empsex=request.getParameter("empsex");
			int empage=Integer.parseInt(request.getParameter("empage"));
			String job=request.getParameter("job");
			int sal=Integer.parseInt(request.getParameter("sal"));
			String deptname=request.getParameter("deptname");
			
			//将学生信息封装学生对象中
			stu.setEmpname(empname);
			stu.setEmpsex(empsex);
			stu.setEmpage(empage);
			stu.setJob(job);
			stu.setSal(sal);
			stu.setDeptname(deptname);
			
			//调用新增学生信息方法,接受一个受影响行数
			int count = EmpInfoDao.addEmpInfo(stu);
			
			//判断新增是否成功,成功则重定向至查询
			if(count>0){
				//新增成功
				response.sendRedirect("EmpInfoServlet?code=1");
			}
		}else if(code==3){
				//查询单个学生信息方法
				int empno=Integer.parseInt(request.getParameter("empno"));
				
				EmpInfo selectone = EmpInfoDao.selectone(empno);
				
				session.setAttribute("one", selectone);
				response.sendRedirect("selectone.jsp");
			}else if(code==4){
				//获取修改学生信息
				int empno=Integer.parseInt(request.getParameter("empno"));
				String empname=request.getParameter("empname");
				String empsex=request.getParameter("empsex");
				int empage=Integer.parseInt(request.getParameter("empage"));
				String job=request.getParameter("job");
				int sal=Integer.parseInt(request.getParameter("sal"));
				String deptname=request.getParameter("deptname");
				
				//将学生信息封装学生对象中
				stu.setEmpno(empno);
				stu.setEmpname(empname);
				stu.setEmpsex(empsex);
				stu.setEmpage(empage);
				stu.setJob(job);
				stu.setSal(sal);
				stu.setDeptname(deptname);
				
				//调用修改学生方法
				int count = EmpInfoDao.updEmpInfo(stu);
				
				//判断
				if(count>0){
					//修改成功跳回查询所有页面
					request.getRequestDispatcher("EmpInfoServlet?code=1").forward(request,response);
				}
			}else if(code==5){
				//接受删除学生id
				int empno=Integer.parseInt(request.getParameter("empno"));
				//调用删除方法
				int count = EmpInfoDao.delteEmpInfo(empno);
				
				if(count>0){
					//删除成功跳回查询所有页面
					response.sendRedirect("EmpInfoServlet?code=1");
				}
			}
		}
	}

⑤创建mybatis-config.xml连接数据库

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>

	<environments default="mysql">
		<environment id="mysql">
			<transactionManager type="jdbc"></transactionManager>
			<dataSource type="pooled">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost/test"/>
				<property name="username" value="root"/>
				<property name="password" value="123456"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<mapper resource="com/zq/mapper/EmpInfoMapper.xml"></mapper>
	</mappers>
</configuration>

⑥创建util包——》BaseSqlSession.java

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class BaseSqlSession {
	private static SqlSessionFactory sqlSessionFactory = null;
	private static SqlSession sqlSession =null;
	
	static{	
		try {
			//1.加载核心配置文件
			InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
			//2.获取SqlSessionFactory工厂
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	//1.获取SQLSession对象
	public static SqlSession getSession(){
		sqlSession = sqlSessionFactory.openSession();
		return sqlSession;
	}
	//2.关闭资源
	public static void closeSession(){
		sqlSession.commit();
		sqlSession.close();
	}

}

第三步,做一个简单页面jsp:

①创建index.jsp

  <body>
    <a href="EmpInfoServlet?code=1">查询所有学生信息</a>
  </body>

②主页面——》创建all.jsp

【导入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>】

 <body>
    <table  border="1" align="center">
    	<caption>学生信息表</caption>
    	<tr>
    		<th>学号</th>
    		<th>姓名</th>
    		<th>性别</th>
    		<th>年龄</th>
    		<th>职业</th>
    		<th>工资</th>
    		<th>部门</th>
    		<th colspan="2">操作</th>
    	</tr>
    	
    	<c:forEach items="${stuList}" var="stu">
    		<tr>
    			<td>${stu.empno}</td>
    			<td>${stu.empname}</td>
    			<td>${stu.empsex }</td>
    			<td>${stu.empage }</td>
    			<td>${stu.job}</td>
    			<td>${stu.sal}</td>
    			<td>${stu.deptname}</td>
    			<td><a href="EmpInfoServlet?code=3&empno=${stu.empno}">修改</a></td>
    			<td><a href="EmpInfoServlet?code=5&empno=${stu.empno}">删除</a></td>
    		</tr>
    	</c:forEach>
    	
    	<tr>
    		<th colspan="9"><a href="insert.jsp">新增学生信息</a></th>
    	</tr>
    </table>
  </body>

③新增页面——》insert.jsp

<body>
    <form action="EmpInfoServlet?code=2" method="post">
    	<table border="1" align="center">
    		<caption>新增学生信息</caption>
    		<tr>
    			<td>姓名:</td>
    			<td>
    				<input type="text" name="empname">
    			</td>
    		</tr>
    		<tr>
    			<td>性别:</td>
    			<td>
    				<input type="radio" name="empsex" value="男" checked="checked">男
    				<input type="radio" name="empsex" value="女">女
    			</td>
    		</tr>
    		<tr>
    			<td>年龄:</td>
    			<td>
    				<input type="text" name="empage">
    			</td>
    		</tr>
    		<tr>
    			<td>职务:</td>
    			<td>
    				<input type="text" name="job">
    			</td>
    		</tr>
    		<tr>
    			<td>工资:</td>
    			<td>
    				<input type="text" name="sal">
    			</td>
    		</tr>
    		<tr>
    			<td>部门:</td>
    			<td>
    				<input type="text" name="deptname">
    			</td>
    		</tr>
    		<tr>
    			<td colspan="2" align="center">
    				<input type="submit" value="新增">
    			</td>
    		</tr>
    	
    	</table>
    
    </form>
  </body>

④修改页面——》selectone.jsp

【导入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>】

<body>
    <form action="EmpInfoServlet?code=4" method="post">
      <table border="1px" align="center">
		   <tr>
		  	 <td>学号:<input  type="text" name="empno" value="${one.empno }"/></td>
		  </tr>
		  <tr>
		  	 <td>姓名:<input type="text" name="empname" value="${one.empname }"/></td>
		  </tr>
		  <tr>
		  
		  <c:if test="${one.empsex=='女' }">
		  	 <td>性别:<input type="radio" name="empsex" value="男" />男<input type="radio" name="empsex" checked="checked" value="女"/>女</td>
		  </c:if>
		  
		  <c:if test="${one.empsex!='女' }">
		  	 <td>性别:<input type="radio" name="empsex" checked="checked" value="男"/>男<input type="radio" name="empsex" value="女"/>女</td>
		  </c:if>
		  
		  </tr>
		  <tr>
		  	 <td>年龄:<input type="text" name="empage" value="${one.empage }"/></td> 
		  </tr>	 
		  <tr>
		  	 <td>职务:<input type="text" name="job" value="${one.job }"/></td> 
		  </tr>	 
		  <tr>
		  	 <td>工资:<input type="text" name="sal" value="${one.sal }"/></td> 
		  </tr>	 
		  <tr>
		  	 <td>部门:<input type="text" name="deptname" value="${one.deptname }"/></td> 
		  </tr>	 
  		<tr>
    			<td colspan="2" align="center">
    				<input type="submit" value="修改" />
    			</td>
    	</tr>
   	</table>
   	</form>
  </body>

 【有几个包需要导入】

https://download.csdn.net/download/m0_57142613/86842033

总结:写不难,难的是运行报错。头秃。。。。细心细心再细心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值