MyBatis筆記----SSM框架mybatis3整合springmvc spring4

来源:http://www.cnblogs.com/tk55/archive/2017/04/06/6671424.html
-Advertisement-
Play Games

上節 無springmvc框架 http://www.cnblogs.com/tk55/p/6661786.html 結構 jar包 web.xml 與index.jsp index.jsp spring-mvc.xml com.ij34.model com.ij34.mybatis UserMap ...


 

 

 

 

 

 

 

 

 

 

 

上節 無springmvc框架 http://www.cnblogs.com/tk55/p/6661786.html 

 

結構

jar包

 

web.xml 與index.jsp

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>mybatis_springmvc</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:com/ij34/mybatis/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextCleanupListener</listener-class> </listener> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <filter> <filter-name>characterEncodingfilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingfilter</filter-name> <url-pattern>*</url-pattern> </filter-mapping> </web-app>

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% response.sendRedirect("article/list"); %>

 

 

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
        xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!--   自動掃描載入註解的包 -->
<context:component-scan base-package="com.ij34.bean"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<property name="prefix" value="/WEB-INF/view/"></property>
<property name="suffix" value=".jsp" ></property>
</bean>

</beans>

 

 

com.ij34.model

package com.ij34.model;

public class User {
  private int id;
  private String name;
  private int age;


  public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
public String toString() {
    return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}


}
package com.ij34.model;

public class Article {
  private int id;
  private User user;
  private String title;
  private String content;
  
public String getContent() {
    return content;
}
public void setContent(String content) {
    this.content = content;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public User getUser() {
    return user;
}
public void setUser(User user) {
    this.user = user;
}
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}

  
}
package com.ij34.model;

import java.util.List;

public interface UserMapper {
      
    public List<Article> selectarticle(int id);    
}

com.ij34.mybatis

 

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

  <mapper  namespace="com.ij34.model.UserMapper">
<resultMap type="Article" id="resultAticleList">
  <id property="id" column="aid"/>
  <result property="title" column="title"/>
  <result property="content" column="content"/>
  <association property="user" javaType="User">
  <id property="id" column="id"/>
  <result property="name" column="name"/>
  <result property="age" column="age"/>
  </association>
  </resultMap>
  <select id="selectarticle" parameterType="int" resultMap="resultAticleList">
  select users.id,users.name,users.age,article.id aid,article.title,article.content from users,article
  where users.id=article.userid and users.id=#{id}
  </select>
  </mapper>

 

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.ij34.model.Article" alias="Article"/>
<typeAlias type="com.ij34.model.User" alias="User"/>
</typeAliases>
</configuration>

 

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd"
            default-autowire="byName" default-lazy-init="false"> 
    <!-- Showcase's CustomFreemarkerManager example -->
  <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
     <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> 
     <property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property> 
     <property name="username" value="root"></property> 
     <property name="password" value="123456"></property> 
  </bean> 

  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"></property>
      <property name="configLocation" value="classpath:com/ij34/mybatis/mybatis-config.xml"></property>
      <property name="mapperLocations" value="classpath:com/ij34/mybatis/UserMapper.xml"></property>
  </bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.ij34.model"></property>
</bean>
</beans>

 

 

com.ij34.bean

package com.ij34.bean;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.ij34.model.Article;
import com.ij34.model.UserMapper;


@Controller
@RequestMapping("/article")
public class Test {
  
  @Autowired
  UserMapper mapper;
  @RequestMapping("/list") 
  public ModelAndView show(){//@RequestParam  請求參數   
     List<Article> articles=mapper.selectarticle(1);
     ModelAndView mav=new ModelAndView("list");
     mav.addObject("articles", articles);
    return mav;
 
  }
}

 

list.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<c:forEach var="article" items="${articles}">
<tr><td>${article.id} |</td><td> ${article.title}|</td><td> ${article.content}|</td><td>${article.user}</td> </tr>
</c:forEach>
</table>
</body>
</html

 

 

結果

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、memcached 簡介 在很多場合,我們都會聽到 memcached 這個名字,但很多同學只是聽過,並沒有用過或實際瞭解過,只知道它是一個很不錯的東東。這裡簡單介紹一下,memcached 是高效、快速的分散式記憶體對象緩存系統,主要用於加速 WEB 動態應用程式。 二、memcached 安裝 ...
  • 冒泡排序 思路分析:法如其名,就是像冒泡一樣,每次從數組當中 冒一個最大的數出來。 第一輪:從第一個到最後一個冒泡比較,運行結果:最後一個最大 第二輪:從第一個到倒數第二個冒泡比較, 運行結果:最後一個最大(當前輪的最後一個) 以此類推... 選擇排序 思路分析:每次選擇一個相應的元素,然後將其放到 ...
  • redis中set系列命令(包括set,hset等等),基本上都包括兩個版本,純粹的set和setnx, setnx即set not exist, 也就是只有Key不存在時才會執行set, 而不會覆蓋原有的值。 但是hmset這個命令,包括redis本身,jedis都沒有提供nx版本的支持。當然,h ...
  • 題目描述 給你一個長度為n的序列,讓你給這個序列從小到大排序。(n<=100000) 題目描述 給你一個長度為n的序列,讓你給這個序列從小到大排序。(n<=100000) 輸入 第一行一個整數n。 第二行n個整數,表示這個序列。 輸出 一行n個整數,表示排序好的序列。 輸入 第一行一個整數n。 第二 ...
  • 題目描述 給定一個只包含左右括弧的合法括弧序列,按右括弧從左到右的順序輸出每一對配對的括弧出現的位置(括弧序列以0開始編號)。 題目描述 給定一個只包含左右括弧的合法括弧序列,按右括弧從左到右的順序輸出每一對配對的括弧出現的位置(括弧序列以0開始編號)。 輸入 僅一行,表示一個合法的括弧序列。 輸出 ...
  • 10個非常有趣的Python實戰項目,帶你更好的學會在實際開發中應用Python ...
  • 1.創建項目之前首先要在myeclipse中配置maven,在window--perference中搜maven4下麵的usersettings,第一個框是maven安裝路徑,就是workspace那conf下邊setting.xml的路徑,第二個是本地倉庫.m2中setting.xml的路徑.第三 ...
  • PowerDesigner導出word,PowerDesigner把表導出到word,PDM導出word文檔 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年4月06日 http://www.cnblogs.com/fanshuyao/ 一、 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...