一、项目描述
完成品牌数据的增删改查操作
文章图片
二、环境准备
2.1、创建新的模块 brand_demo,在pom.xml中引入项目需要坐标
2.1.1、依赖:mybatis、mysql、servlet、jsp-api、
2.2.2、插件:tomcat7-maven-plugin
2.2、创建三层架构的包结构
文章图片
2.3、数据库表 tb_brand
文章图片
2.4、实体类 Brand
文章图片
2.5、MyBatis 基础环境
Mybatis-config.xml
BrandMapper.xml
BrandMapper接口
【JavaWeb学习记录——servlet+tomcat+request+respond+JSP实战项目(使用MVC模式开发)】三、增删改查
3.1、查询所有操作
3.1.1、流程图
文章图片
3.1.2、编写BrandMapper:在mapper包下创建创建BrandMapper接口,在接口中定义 selectAll()方法
/**
* 查询所有
* @return
*/
@Select("select * from tb_brand")
List selectAll();
3.1.3、编写工具类:在 com.itheima 包下创建 utils 包,并在该包下创建名为 SqlSessionFactoryUtils 工具类
public class SqlSessionFactoryUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
//静态代码块会随着类的加载而自动执行,且只执行一次
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSqlSessionFactory(){
return sqlSessionFactory;
}
}
3.1.4、 编写BrandService:在service包下创建BrandService类
public class BrandService {
SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();
/**
* 查询所有
* @return
*/
public List selectAll(){
//调用BrandMapper.selectAll()
//2. 获取SqlSession
SqlSession sqlSession = factory.openSession();
//3. 获取BrandMapper
BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
//4. 调用方法
List brands = mapper.selectAll();
sqlSession.close();
return brands;
}
}
3.1.5、 编写Servlet
在 web 包下创建名为 SelectAllServlet 的 servlet ,该 servlet 的逻辑如下:
1、调用 BrandService 的 selectAll() 方法进行业务逻辑处理,并接收返回的结果
2、将上一步返回的结果存储到 request 域对象中
3、跳转到 brand.jsp 页面进行数据的展示@WebServlet("/selectAllServlet")
public class SelectAllServlet extends HttpServlet {
private BrandService service = new BrandService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
//1. 调用BrandService完成查询
List brands = service.selectAll();
//2. 存入request域中
request.setAttribute("brands",brands);
//3. 转发到brand.jsp
request.getRequestDispatcher("/brand.jsp").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
this.doGet(request, response);
}
}
3.1.6、 编写brand.jsp页面
Title - 锐客网
序号
品牌名称
企业名称
排序
品牌介绍
状态
操作
${brand.id} ${brand.brandName}
${brand.companyName}
${brand.ordered}
${brand.description}
启用
禁用
修改 删除
推荐阅读
- 编程语言|宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨!揭晓中国开发者真实现状...
- java|7个小技巧,老板再也无法留我加班了...
- intellij-idea|【蓝桥杯】模拟赛详解,冲刺国赛
- Java基础|Java真的不难(三十)工厂模式(3)
- java|Tomcat错误页重定向
- 算法_|第十届蓝桥杯省赛JavaB组G_外卖店优先级
- Java基础|Java真的不难(三十一)建造者模式
- java|亚马逊跨境电商平台怎么入驻()
- ByteBuf 常用操作