IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 自定义MVC03 -> 正文阅读

[大数据]自定义MVC03

今日内容

?一、利用框架开发项目

二、解决配置文件可随意更改问题

一、

补充上次知识点:配置

1、在web.xml<servlert>里面加上以下代码

<init-param>
			<param-name>configurationLocation</param-name>
			<param-value>/mvc.xml</param-value>
</init-param> 

2、新建一个文件夹用反射mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
 	<action path="/book" type="com.zking.gwq.framework.BookAction">
		<forward name="list" path="/booklist.jsp" redirect="false" />
		增删改操作之后要再一次查询数据库的新的数据做展示
		<forward name="toList" path="/book.action?methodName=list" redirect="true" />
	</action> 
</config>

然后在DispathServlet里面配置的文件

二、

?

自用jar包:

1、选中你要作为jar包用的包

2、搜索jar选中红色标记点?3、选要路径

4、然后finish,最后复制到自己想要用的项目里就可以了

三、

学完整个mvc就可以利用框架开发一个项目啦

?

Dao方法

package com.zking.Dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.zking.entity.Book;

import com.zking.util.BaseDao;
import com.zking.util.DBAccess;
import com.zking.util.PageBean;
import com.zking.util.StringUtils;

public class BookDao extends BaseDao<Book>{
	/**
	 * 新增
	 * @param student
	 * @return
	 */
	public int add(Book student) {
		String sql="insert into t_student(sname,sname_pinyin,age,remark) values('"+student.getSname()+"','"+student.getSnamePinyin()+"','"+student.getAge()+"','"+student.getRemark()+"')";
		return this.executeUpdate(sql);
	}
	
	/**
	 * 修改
	 * @param student
	 * @return
	 */
	public int update(Book student) {
		String sql="update t_student set sname='"+student.getSname()+"',sname_pinyin='"+student.getSnamePinyin()+"',age='"+student.getAge()+"',remark='"+student.getRemark()+"' where sid="+student.getSid();
		return this.executeUpdate(sql);
	}
	
	/**
	 * 删除
	 * @param student
	 * @return
	 */
	public int del(Book student) {
		String sql="delete from t_student where sid="+student.getSid();
		return this.executeUpdate(sql);
	}
	
	/**
	 * 查询所有
	 * @param student
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 * @throws Exception 
	 */
	public List<Book> list(Book student,PageBean pagebean) throws Exception{
		
		int sid=student.getSid();
		String sql="select * from t_student where 1=1";
		if(StringUtils.isNotBlank(student.getSname())) {
			sql+=" and sname like '%"+student.getSname()+"%'";
		}
		if(sid!=0) {
			sql+=" and sid= "+ sid;
		}
		return this.executeQuery(sql, pagebean, new CallBack<Book>() {
			@Override
			public List<Book> forEach(ResultSet rs) throws Exception{
				List<Book> students=new ArrayList<>();
				Book s = null;
				while(rs.next()) {
					s=new Book();
					s.setSid(rs.getInt("sid"));
					s.setSname(rs.getString("sname"));
					s.setAge(rs.getInt("age"));
					s.setRemark(rs.getString("remark"));
					students.add(s);
				}
				return students;
			}
		});
	}
	
	public static void main(String[] args) throws Exception {
		Book book = new Book();
		book.setSid(123456);
		/*book.setSname("张");
		book.setSnamePinyin("123");
		book.setAge(1222222);
		book.setRemark("nb");*/
		BookDao bookdao = new BookDao();
//		bookdao.add(book);
//		bookdao.update(book);
		bookdao.del(book);
		
	}
}

?子控制器

package com.zking.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zking.Dao.BookDao;
import com.zking.entity.Book;
import com.zking.gwq.framework.ActionSupport;
import com.zking.gwq.framework.ModelDriver;
import com.zking.util.PageBean;

public class BookAction extends ActionSupport implements ModelDriver<Book>{
	private Book book = new Book();
	private BookDao bookDao = new BookDao();
	@Override
	public Book getModel() {
		// TODO Auto-generated method stub
		return book;
	}
	
	public String add(HttpServletRequest req, HttpServletResponse resp) {
		bookDao.add(book);
		if(book!=null) {
			System.out.println(book.getSname());
		}
		return "toList";
	}
	public String delete(HttpServletRequest req, HttpServletResponse resp) {
		bookDao.del(book);
		return "toList";
	}
	public String edit(HttpServletRequest req, HttpServletResponse resp) {
		bookDao.update(book);
		return "toList";
	}
	public String list(HttpServletRequest req, HttpServletResponse resp) {
		PageBean pageBean = new PageBean();
		pageBean.setRequest(req);
		try {
			List<Book> list = bookDao.list(book, pageBean);
			req.setAttribute("books", list);
			req.setAttribute("pageBean", pageBean);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "list";
	}
	public String toEdit(HttpServletRequest req, HttpServletResponse resp) {
		//如果跳转的是新增界面无需查询,如果跳转的是修改界面,需要查询sid对应的数据,回显界面
		if(book.getSid()!=0) {
			try {
				//sid=16
				List<Book> list = bookDao.list(book, null);
				req.setAttribute("b", list.get(0));
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return "toEdit";
	}

}

不要忘记jar包和tid

?项目需要的包和文件夹

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 11:59:18  更:2021-09-03 11:59:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 9:07:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码