javaweb增刪改查(一)

互相對應的:
1.jsp與servlet一起使用
servlet—EmpServlet —@WebServlet(urlPatterns ={"/emplist"})
獲得數據 private EmpService empService = new EmpServiceImpl();
重寫 service
①.查詢數據庫
LIst empList = empService.listEmp();
②把數據庫綁定到req對象上
req.setAttribute(s:“empList”,empList);
—加粗empList是自己起的名字 值empList是查詢的數據
③轉發到jsp上
req.getRequestDispatcher(“/WEB-INF/pages/emplist.jsp”).forward(req,resp);
forward(req,resp)—跳轉標籤

@WebServlet(urlPatterns = {"/emplist"})
public class EmpListServlet extends HttpServlet {
    private EmpService empService = new EmpServiceImpl();
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.查詢數據庫
        List<Emp> empList = empService.listEmp();
        //2把數據綁定到req對象上
        req.setAttribute("empList",empList);
        //3.轉發到jsp上
        req.getRequestDispatcher("/WEB-INF/pages/emplist.jsp").forward(req,resp);
    }
}

jsp頁面

<%List<Emp> empList = (List<Emp> request.getAttribute("empList");%>
**empList---對應setAttribute中的(string)**

2.entity—Emp類 實體類@Data
mapper—EmpMapper 接口 —對應xml中的select的id名
resourse—com/moqi/mapper ----EmpMapper.xml —resultMap sql語句
mybatis.xml ---- resources 中配置
3.service和util包
service----impl子包(EmpService接口)—EmpServiceImpl接口 —獲得SqlSession數據

 public class EmpServiceImpl implements EmpService {
@Override
public List<Emp> listEmp() {
    SqlSession sqlSession = MyBatisUtils.getSqlSession();
    EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
    List<Emp> empList = empMapper.listEmp();
    sqlSession.close();
    return empList;
}
}

—EmpService類 ----等同於EmpMapper
public interface EmpService { //查詢所有員工 List<Emp> listEmp(); }

util包----MyBatisUtils類–封裝數據----工廠類

public class MyBatisUtils {

public static final boolean DEFAULT_AUTO_COMMIT=true;
private static final SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(
        MyBatisUtils.class.getClassLoader().getResourceAsStream("mybatis.xml"));
public static SqlSession getSqlSession(boolean autoCommit){
    return factory.openSession(autoCommit);
}
public static SqlSession getSqlSession(){
    return factory.openSession(DEFAULT_AUTO_COMMIT);
}
}

總結
1.MyBatisUtils 創建工廠------EmpServiceImpl拿走MyBatisUtils中的SqlSession獲得empList—最後return empList
2.entity包中的Emp類—emplist.jsp EmpListServlet.java EmpService 接口 EmpServiceImpl.java
3.service包中的接口interface給了Impl類!----Empservlet類中new EmpServiceImpl得到 empService
然後查詢 empService中的列表數據 得到 empList數據列 然後綁定給req.setAttribute給了jsp 最後通過req轉發
req.getRequestDispatcher("/WEB-INF/pages/emplist.jsp").forward(req,resp);

1.*jsp用作顯示,邏輯還是交給servlet去做-----加粗的名字必須一樣
servlet中把數據綁定到req對象上------req.setAttribute(“empList”,empList)
jsp中接受servlet中的數據 -------
<%List empList =(List) request.getAttribute(“empList”);%>
2.resources中的包用 / 建
例如:com/moqi/mapper

req當作map集合使用
object可以放任何類型的數據
getAttribtue獲得自己存儲的信息
getParameter獲得瀏覽器欄的信息----獲得請求參數

問題:
1.mapper中EmpMapper.xml的namespace
—掃的是當前xml的全路徑
2.resultmap和resultType區別:單表查詢的話用resultType是最合適的。
使用mybatis進行數據庫連接操作時對於SQL 語句的返回結果的處理兩種方式
result Type:column和property名字完全一樣
resultMap:column和propety名字不完全一樣的時候
區別:mybatis.xml中
----設置
—日誌

指定 MyBatis 所用日誌的具體實現,未指定時將自動查找
—類型別名
----掃描放數據庫的實體類


----掃描包下對應得那個實體類

—環境配置
—JDBC驅動得java類得完全限定名
—數據庫得JDBC url地址
----登錄數據庫得用戶名
-----登錄數據庫得密碼

----映射器
----告訴mybatis到哪裏找映射文件xml。將包內得映射器接口實現全部註冊爲映射器

3.相對地址和絕對地址:
相對路徑----從本文件網上找 …/…/———參照物是自己 …/代表上一目錄
絕對路徑----從根找 / ——參照物是跟
例子:絕對路徑

轉發和重定向:小結

好的項目和好的技術不是一蹴而就的!!!!
結構
xml配置
pom配置
2.設計數據庫
mb4字符集
數字—自動遞增
emp_id int 主鍵

3.webapp—emplist.jsp(員工列表頁)
java-----com.moqi.servlet ----EmpListServlet
http:8080/emplist= @WebServlet(urlPatterrns = {"/emplist"}) 代替的是web.xml中的那四行代碼

4.歡迎頁面----web.xml
welcome-file-list 8080就可以訪問 emplist/

mvc模式
model 指的是數據模型
----entity
----dao ,mapper
----service
view ----jsp
controller ----servlet

ui框架----bootstrap

只修改jsp頁面----重啓update resources

jstl標籤庫 1.2版本
java stanrd tag language
jstl寫法非常符合html標準,由jsp引擎解釋成java代碼
步驟
①jstl必須導入一個jar包 pom.xml
②在jsp中引入jstl標籤
<%–c 代表core核心 --%>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

jstl替代了jsp中的java代碼
jsp中

<%List<Emp> empList = (List<Emp>) request.getAttribute("empList");%>

循環遍歷

<% for (Emp emp : empList) {%>
<tr>
    <td><%=emp.getName()%></td>
    <td><%=emp.getAge()%></td>
    <td><%=emp.getSex()%></td>
    <td><%=emp.getSalary()%></td>
    <td><%=emp.getDeptId()%></td>
</tr>
<% } %>

jstl中—頭標籤

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

循環遍歷

<c:forEach items="${empList}" var="emp">
    <tr>
        <td>${emp.name}</td>
        <td>${emp.age}</td>
        <td>${emp.sex}</td>
        <td>${emp.salary}</td>
        <td>${emp.deptId}</td>
    </tr>
</c:forEach>>

javaweb增刪改查(二)
https://blog.csdn.net/qq_43505662/article/details/101366540

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章