J2EE——自定义MVC框架的CRUD操作

2022-11-22 14:38:15 浏览数 (1)

1.简单说说MVC是什么?(需要详细的看上一章的J2EE——自定义mvc有详细介绍)

MVC全名:Model View Controller,其中Model(模型层)、View(视图层)、Controller(控制层) 它是一种软件设计典范,用于业务逻辑处理、数据、界面显示分离。

2. 使用自定义mvc框架完成CRUD操作

这里所说的CRUD就是增删改查。

其中自定义mvc框架工作原理如图所示:

3. 自定义MVC框架的CRUD操作步骤

 其中jar包如图所示:

 代码不多(重要的是自己做的mvc.jar包)但是也给一些代码参考一下(细心很重要!!!)——BookDao

代码语言:javascript复制
package com.zking.mvcplus.dao;


import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import com.zking.mvcplus.entity.Book;
import com.zking.mvcplus.util.CommonUtils;
import com.zking.mvcplus.util.PageBean;
import com.zking.mvcplus.util.PinYinUtil;
import com.zking.mvcplus.util.StringUtils;

public class BookDao extends BaseDao<Book> {

	/**
	 * 1.书本新增
	 * @param book
	 */
	public void addBook(Book book) {
		String sql="insert into t_book(book_name,book_name_pinyin,"
				  " book_price,book_type) values(?,?,?,?)";
		super.executeUpdate(sql, new Object[] {
				book.getBook_name(),
				PinYinUtil.toPinyin(book.getBook_name()).toLowerCase(),
				book.getBook_price(),
				book.getBook_type()
				
		});
	}
	/**
	 * 2.书本删除
	 * @param book
	 */
	public void delBook(Book book) {
		String sql="delete from t_book where book_id=?";
		super.executeUpdate(sql, new Object[] {
				book.getBook_id()
				
		});
	}
	/**
	 * 3.书本编辑
	 * @param book
	 */
	public void editBook(Book book) {
		String sql="update t_book set book_name=?,book_name_pinyin=?,"
				  "book_price=?,book_type=? where book_id=?";
		super.executeUpdate(sql, new Object[] {
				book.getBook_name(),
				PinYinUtil.toPinyin(book.getBook_name()).toLowerCase(),
				book.getBook_price(),
				book.getBook_type(),
				book.getBook_id()
				
		});
	}
	/**
	 * 4.书本分页查询
	 * @param book
	 * @param pageBean
	 * @return
	 */
	public List<Book> queryBookPager(Book book,PageBean pageBean ){
		String sql="select * from t_book where 1=1";
		//按照书本名称模糊查询
		if(StringUtils.isNotBlank(book.getBook_name()))
			sql =" and book_name like '%" book.getBook_name() "%'";
		//按照书本编号降序排序
		sql =" order by book_id desc";
		System.out.println(sql);
		return super.excuteQuery(sql, pageBean,new CallBack<Book>(){

			@Override
			public List<Book> foreachRs(ResultSet rs) throws SQLException, Exception {
				return CommonUtils.toList(rs, Book.class);
			}
			
			
		});
		
	}
	/**
	 * 5.根据书本编号ID查询单个书本信息
	 * @param book
	 * @return
	 */
	public Book queryBookById(Book book){
		String sql="select * from t_book where book_id=" book.getBook_id();
		System.out.println(sql);
		List<Book> lst=super.excuteQuery(sql, null,new CallBack<Book>(){

			@Override
			public List<Book> foreachRs(ResultSet rs) throws SQLException, Exception{
				return CommonUtils.toList(rs, Book.class);
			}
			
			
		});
		if(null!=lst&&lst.size()!=0)
			return lst.get(0);
		else
			return null;
		
		
	}
}

 通过反射机制调用以上方法即可。

效果图如下:

注意:增删改用重定向  查询用转发

3.1 自定义MVC框架的CRUD操作

3.2.配置config.xml文件

3.3.导入PageTag自定义分页标签类

3.4.导入自定义分页标签的描述文件z.tld   注:导入到WEB-INF目录下

0 人点赞