zoukankan      html  css  js  c++  java
  • Mybatis——SSM

    目录结构


    1、相关依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.6</version>
        </dependency>
        <!--spring IOC-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.3.14.RELEASE</version>
        </dependency>
    
        <!--jdbc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <!--web-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <!--aop-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
    
        <!--日志-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <!--JSTL-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <!--mybatis-spring-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    2、配置mybatis配置文件

    mybatis-config.xml、mapper.xml、dbConfig.properties

    3、配置spring配置文件

    在web.xml中做出spring的配置

    <!--Spring配置-->
    <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    

    并新建spring配置文件

    在web.xml中配置前端控制器

    <!--前端控制器-->
    <!--springMVC配置-->
    <servlet>
      <servlet-name>spring</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
        <param-name>spring</param-name>
        <param-value>/</param-value>
      </init-param>
    </servlet>
    在WEB-INFO下创建spring-servlet.xml

    在其中配置上

    <!--自动扫描所有文件-->
    <!--只扫描控制器-->
    <context:component-scan base-package="bean" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    
    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    
    <mvc:annotation-driven></mvc:annotation-driven>
    <mvc:default-servlet-handler/>

    配置applicationContext.xml

    <!--Spring希望管理所有的业务逻辑组件,等。。。。。-->
    <context:component-scan base-package="java">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    
    <!--引入数据库配置文件-->
    <context:property-placeholder location="classpath:dbConfig.properties"/>
    <!--Spring用来控制业务逻辑。数据源、事物控制、aop-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="jdbcUrl" value="${jdbc.driver}"/>
        <property name="driverClass" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    
    <!--spring事物管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    
    <!--开启基于注解的事物-->
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <!--
    整合mybatis
        目的:1、spring管理所有组件。mapper的实现类。
                    service==》dao   @Autowired:自动注入
              2、spring管理事物,spring声明式事物
    -->
    <!--创建出SqlSessionFactoryBean对象-->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--指定mybatis全局配置文件的位置-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!--指定mapper配置文件的位置-->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>
    
    <!--
    扫描所有的mapper接口,让这些mapper能够自动注入
    base-package:指定mapper接口的包名
    -->
    <mybatis-spring:scan base-package="dao"/>
    

    编辑controller层和service层以及页面

    @Service
    public class EmployeeService {
        @Autowired
        private EmployeeMapper mapper;
    
        public List<Employee> getEmps(){
            return mapper.getEmps();
        }
    
    }

    @Controller
    public class EmployeeController {
        @Autowired
        EmployeeService employeeService;
    
        @RequestMapping(value = "/getEmps")
        public String emps(Map<String,Object> map){
            List<Employee> emps = employeeService.getEmps();
            map.put("allEmps",emps);
            return "list";
        }
    }
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
             pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>员工列表</title>
    </head>
    <body>
        <table>
            <tr>
                <td>id</td>
                <td>lastName</td>
                <td>email</td>
                <td>gender</td>
            </tr>
            <c:forEach items="#{allEmps}" var="emp">
                <tr>
                    <td>#{emp.id}</td>
                    <td>#{emp.lastName}</td>
                    <td>#{emp.email}</td>
                    <td>#{emp.gender}</td>
                </tr>
            </c:forEach>
        </table>
    </body>
    </html>
    <html>
    <body>
    <h2>Hello World!</h2>
    <a href="getEmps">查询所有员工</a>
    </body>
    </html>
    

  • 相关阅读:
    SEO(Business)
    C#数组去掉重复的元素
    文件创建与文件格式的修改
    Filter(20160815)
    OmniGraffle导入stencils的两个方法以及优质的stencils下载网站推荐
    在Axure RP 8.0 中使用 Font Awesome 图标库完成设计并能在其他未安装该字体的电脑离线预览的方法
    社会性动物(艾略特•阿伦森)
    MacTex 在XeLaTex编译状态下插入的pdf格式图片无法显示问题的解决方案
    Markdown,别来无恙!
    男人来自火星 女人来自金星(约翰·格雷)
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276080.html
Copyright © 2011-2022 走看看