div布局java+dao图书管理系统_基于SSM的简单图书管理系统

一、先根据上上一篇的SSM整合搭建的内容将SSM环境搭建好

二、在resource目录下创建一个Mapper文件夹,在Mapper下创建一个BookMapper.xml,里面编写SQL查询语句

注:该系统实现mybatis的方式为接口+xml方式,所以namespace必须为dao接口的全路径

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from springmvcbook limit #{start},#{pageSize}

delete from springmvcbook where id=#{id}

select * from springmvcbook where id=#{id}

update springmvcbook set name=#{name},price=#{price} where id=#{id}

insert into springmvcbook values (default ,#{name},#{price})

select count (1) from springmvcbook

三、创建dao层,在里面建一个bookDao接口:

public interface BookDao {

/*查询全部图书(进行展示),以及分页展示*/

List getAllBooks(BookBean bookBean);

/*根据id删除图书*/

void deleteBookById(int id);

/*根据id获取这本书的所有信息,以用于在更新页面展示出来*/

BookBean getBookById(int id);

/*更新图书*/

BookBean updateBook(BookBean bookBean);

/*增加新图书*/

BookBean addBook(BookBean bookBean);

/*void addBook(BookBean bookBean);要不要返回值都行,因为后面用不到*/

/*获取图书数量,用于分页*/

int getBookCount();

}

四、创建service层:

注:1、注意Service的实现类之上一定要添加service注解

2、因为BookDao是接口,没有实现类,所以不能new出,要使用动态注入dao组件。在上面添加@Resource注解

/**

* 注意Service的实现类之上一定要添加service注解

*/

@Service

public class BookService {

/**

* 动态注入dao组件

*/

@Resource

private BookDao bookDao;

public List getAllBooks(BookBean bookBean){

return bookDao.getAllBooks(bookBean);

}

public void deleteBookById(int id){

bookDao.deleteBookById(id);

}

public BookBean getBookById(int id){

return bookDao.getBookById(id);

}

public BookBean updateBook(BookBean bookBean){

return bookDao.updateBook(bookBean);

}

public BookBean addBook(BookBean bookBean){

return bookDao.addBook(bookBean);

}

public int getBookCount(){

return bookDao.getBookCount();

}

}

五、创建controller层:

注:要想在页面展示,则用@Controller注解

@Controller

public class BookController {

/**

* 动态注入service组件

*/

@Resource

private BookService bookService;

/*

* 查询所有图书展示

* */

@RequestMapping("/book")

public String getAllBooks(HttpSession session, HttpServletRequest request,BookBean bookBean){

/*

* 想要点击下一页时数据变化,一定要将注意执行顺序,

* 即分页的这几行代码要放在展示代码之上。原因是如果顺序不对就会在执行分页之前就

* 执行了查询语句,start不变,查的一直是limit(0,5)

* */

int count = bookService.getBookCount();

String paging = Paging.getPage(bookBean,count,"/book",request.getParameterMap());

session.setAttribute("paging",paging);

/*

* 向bookService.getAllBook(bookBean)中放bookBean,是为了

* 获取start,pageSize,currentPage分页,因为bookBean

* 继承于BaseBeen

* */

List list = bookService.getAllBooks(bookBean);

session.setAttribute("list",list);

return "book.jsp";

}

/*

* 根据id删除图书

* */

@GetMapping("/deleteById/{id}")

public String deleteBookById(@PathVariable int id){

bookService.deleteBookById(id);

return "redirect:/book";

}

/*

* 根据id获取这本书的信息,并展示在更新页面中

* */

@GetMapping("/getBookById/{id}")

public String toUpdatePage(@PathVariable int id,HttpSession session){

BookBean book = bookService.getBookById(id);

session.setAttribute("book",book);

return "update.jsp";

}

/*

* 更新

* */

@PostMapping("/update")

public String updateBook(BookBean bookBean){

bookService.updateBook(bookBean);

return "redirect:/book";

}

/*

* 跳转增加页面

* */

@GetMapping("/toAddPage")

public String toAddPage(){

return "add.jsp";

}

/*

* 增加操作

* */

@PostMapping("/addBook")

public String addBook(BookBean bookBean){

bookService.addBook(bookBean);

return "redirect:/book";

}

}

六、页面编写。(运用了boostrap改变了表格效果等,即鼠标移动到哪一列哪一列变为深色。代码可去w3cschool复制,然后进行修改)

1、书架展示页面book.jsp

#paging{

position: absolute;

bottom: 30px;

left: 0;

}

编号书名价格其他

${item.id}${item.name}${item.price} 修改

删除

${paging}

效果图如下:

eafab74aa7bf

book.jsp.png

2、更新页面update.jsp

修改

编号

placeholder="编号">

书名

placeholder="请输入新的书名">

价格

placeholder="请输入新的价格">

修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值