zoukankan      html  css  js  c++  java
  • 07 图书管理系统(SSM+LayUi)

    整合mybatis

    配置数据源文件jdbc.properties

    • 在sources里新建jdbc.properties
    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/library?serverTimezone=GMT%2B8
    jdbc.username=root
    jdbc.password=1996chen
    

    配置SqlMapConfig.xml

    • 在sources里新建SqlMapConfig.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.gychen.po.ClassInfo" alias="classInfo"/>-->
            <!-- 或者扫包 po下的所有类都有别名 -->
            <package name="com.gychen.po"/>
        </typeAliases>
    
    
    
    </configuration>
    

    配置spring.xml

    • 在spring.xml中配置mybatis相关
    <?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:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!-- 加载数据库jdbc.properties文件 -->
        <context:property-placeholder location="classpath:jdbc.properties"/>
    
    
        <!-- 开启注解扫描 处理service层和dao层 controller层不处理-->
        <context:component-scan base-package="com.gychen">
            <!-- 配置不扫描的 -->
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        </context:component-scan>
    
    
        <!-- 配置数据源信息 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${jdbc.driver}"/>
            <property name="jdbcUrl" value="${jdbc.url}"/>
            <property name="user" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
    
        <!-- 配置mybatis的session工厂 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 配置数据源 -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 加载mybatis全局配置文件 -->
            <property name="configLocation" value="classpath:SqlMapConfig.xml"/>
        </bean>
        
        <!-- 配置mapper相关扫描器 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.gychen.dao"/>
        </bean>
    
    
    
    </beans>
    

    测试SSM整合

    测试spring-springmvc-mybatis整合情况

    • 改写com.gychen.dao.ClassInfoDao
    package com.gychen.dao;
    
    import com.gychen.po.ClassInfo;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
    @Component("classDao")
    public interface ClassInfoDao {
        /**
         * 查询所有图书类型信息
         */
        @Select("select * from class_info")
        List<ClassInfo> queryClassInfoAll();
    
    }
    
    
    • 在ClassInfoServiceImpl中调用Dao层中的查询方法
    package com.gychen.service;
    
    import com.gychen.dao.ClassInfoDao;
    import com.gychen.po.ClassInfo;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service("classInfoService")
    public class ClassInfoServiceImpl implements ClassInfoService {
    
        @Autowired
        private ClassInfoDao classDao;
    
        @Override
        public List<ClassInfo> queryClassInfoAll() {
    
            // 没有连接数据库,以打印控制台代替
            System.out.println("查询到了所有的图书类型.......");
    
            // 已经配置了数据库
            System.out.println("获取图书类型记录数为:"+classDao.queryClassInfoAll().size());
            List<ClassInfo> classInfos = classDao.queryClassInfoAll();
            for (ClassInfo classInfo : classInfos) {
                System.out.println(classInfo);
            }
    
            return null;
        }
    }
    
    
    • 在TestController里新建测试方法
    package com.gychen.controller;
    
    import com.gychen.service.ClassInfoService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class TestController {
    
        @Autowired
        private ClassInfoService classInfoService;
    
        @RequestMapping("/test")
        public String testIndex(){
            System.out.println("测试springmvc内容");
            return "test";
        }
    
        @RequestMapping("/test01")
        public String testSpring(){
            classInfoService.queryClassInfoAll();
            System.out.println("测试spring和springmvc整合");
            return "test01";
        }
    
        @RequestMapping("/test02")
        public String testSSM(){
            classInfoService.queryClassInfoAll();
            System.out.println("测试SSM整合");
            return "test02";
        }
    }
    
    
    • 在pages里新建test02.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>SSM整合测试</title>
    </head>
    <body>
        SSM整合测试
    </body>
    </html>
    
  • 相关阅读:
    Fiddler 教程
    ios iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
    ios 生成一个动态的随机的头像/随机数的操作
    在工程中如何使用一个公用的页面
    使用手势,让键盘在点击空白处消失
    ios开发之--iOS 11适配:iOS11导航栏返回偏移
    svn 操作字母的提示
    字面量
    控制 打开和关闭远程推送通知
    常见结构体 日期 字符串的操作 很实用
  • 原文地址:https://www.cnblogs.com/nuister/p/13361190.html
Copyright © 2011-2022 走看看