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目录下