搭建项目骨架
- 创建数据表
- 建立Maven项目,导入相关pom依赖
- 建立基本包结构:pojo,dao,service,controller
- mybatis-config.xml,applicationContenxt.xml配置文件
Mybatis层(pojo,dao,service)
- 建立db.properties资源文件,连接信息
- 编写数据库对应的实体类(lombok可选)
- 编写dao层的Mapper接口,定义业务功能
- 在dao层编写Mapper接口对应的Mapper.xml,实现接口的SQL功能
- 编写service层的接口和实现类
Spring层(spring-dao,spring-service)
- Spring整合mybatis层:建立spring-dao.xml文件,主要需要配置:1.引入database.properties文件;2.使用数据库连接池连接数据库,并设置一些连接池的参数;3.配置SqlSessionFactory对象,引入mybatis配置文件;4.配置扫描dao接口包,动态实现dao接口注入到spring容器
- Spring整合service层:建立spring-service.xml文件,扫描service层下的类与Mapper配置文件,注入到spring容器
SpringMVC层(spring-mvc,web.xml)
- 添加web框架支持
- 配置web.xml文件:dispatcherServlet,encodingFilter,设置session过期时间(可选)
- 新建spring-mvc.xml:开启注解驱动(注解实现映射器,适配器),静态资源servlet配置,视图解析器(前缀,后缀),扫描web相关的bean
- 在applicationContext.xml中,引入spring-dao.xml,spring-service.xml,spring-mvc.xml配置文件
Controller层
1.网站首页,通过一个a标签进入控制器中的某个方法
//index.jsp
<a href="${pageContext.request.contextPath}/book/allBook">点击进入书籍列表</a>
2.查询信息,结果为list,存入model
@Controller
@RequestMapping("/book")
public class BookController {
@Autowired
@Qualifier("BookServiceImpl")
private BookService bookService;
@RequestMapping("/allBook")
public String list(Model model){
List<Books> list = bookService.queryAllBook();
model.addAttribute("list",list);
return "allBook";//返回到allBook.jsp
}
}
3.将查到的结果展示出来
//allBook.jsp
<c:forEach var="book" items="${requestScope.get('list')}">
<tr>
<td>${book.getBookID()}</td>
<td>${book.getBookName()}</td>
<td>${book.getBookCounts()}</td>
<td>${book.getDetail()}</td>
</tr>
</c:forEach>
增删改同理