电商实习项目第二天(6月25日)

  • 在src- jdbc.properties中修改数据库名称、密码
  • 运用mybatis generator修改 ->将8个java文件填入到: src- com.demo.po 中并创建ToString方法
  • testmapper.xml改brand
  • testdao.java改brand
  • testservicelmpl.java改brand
  • 此时打开浏览器,运行localhost:8080/demo/test,会显示界面
  • 注意:
(1): 项目改名: 右键-> refactor
(2):在src写的代码, 编译后直接到webroot
(3):只要修改JAVA项目,必须重启服务器. 目的是:将新导入的jsp更新到服务器上
(4): jsp代码改之后可以直接运行,不用重启服务器
(5):在浏览器显示的界面按 F12可以进入调试页面(控制台/ 网络/...)
(6):java代码在html用<%%>
(6):$  是EL表达式

本项目是前台+后台,由于有登陆界面,将其可转换为:登陆+前台+后台

  • weboot新建两个文件夹: 后台admin( 导文件)+前台bbs (导文件)
  • jsp页面结构: jsp可以加入java代码(html标签代表开始标签; head 代表头,引入静态资源,定义标题;body代表内容)
    meta定义编码
    link /结束,连接所有静态资源,可以多个link; href表示地址/css/babasport.css ,若换成相对地址 ../css/babasport.css容易出错 ; 因此,我们统一换成绝对路径(相对于服务器地址): /css/babasport.css改为<%=basePath%>bbs/css/babasport.css
    其中,如何修改Eclipse中Web项目的jsp文件表头,自动加上basePath,可参考我的博客: https://blog.csdn.net/qq_37486501/article/details/93593070
  • 商品展示界面的图片路径 换成绝对路径
    <img src="<%=basePath%>bbs/images/t/t1/e1.jpg" alt="" />
  • Mybatis执行过程: dao接口中的方法 —>去 mapper映射文件查数据库,并返回结果. 每一个表有唯一一个dao接口,写一个dao写一个mapper
    (eg: 创建dao接口文件: ProductDao,写方法
    po中的: 创建反向工具作用生成一个java类, 所有的信息,是返回值
    其中dao的返回值是Product.java
  • 创建xml文件: ProductMapper.xml
    在这里插入图片描述
    在这里插入图片描述
    ProductMapper.xml中
<mapper namespace="com.demo.dao.ProductDao">
​	<select id="getById"(id)  parameterType (参数类型整形)resultType="">
select * from bbs_product where id=#{id} 取参数
</select>
<insert id=""></insert>
​	<update id=""></update>
​	<delete id=""></delete>
</mapper>

  • 业务层Service层: 一个接口(可以实现多态父类子类) 一个实现(类)
  • ProductService .java: 信息要返回给控制层
  • 框架注解
    @Service //业务层表示把下面的对象放到了spring容器中,
    @Controller//控制层
    @Repository//持久层,myBatis自动加上了
    @Component//组件,不分层
    @RequestMapping 请求映射,返回一个字符串,jsp页面名称给用户
  • 控制层:springmvc: 单独的类; 里面有映射表 , 方法:查看商品信息

代码:

package com.demo.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

import com.demo.dao.ProductDao;
import com.demo.po.Product;
@Service
public class ProductServiceImpl implements ProductService{

	@Autowired		//依赖注入(DI)
	ProductDao dao;
	
	@Override
	public Product getById(Integer id) {
		return dao.getById(id);
	}

}

在这里插入图片描述

package com.demo.action;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.demo.po.Product;
import com.demo.service.ProductService;

@Controller
public class ProductController {

	@Autowired
	ProductService service;
	@RequestMapping("/getproduct")
	public String getproduct(HttpServletRequest req){
		Product p = service.getById(1);
		System.out.println(p);
		req.setAttribute("data", p);
		return "bbs/portal/product";	//请求转发
	}
}

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

发布了192 篇原创文章 · 获赞 204 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/qq_37486501/article/details/93669898