Mybatis(初学) 20-04-13

流程图

在这里插入图片描述

在这里插入图片描述

setting

在这里插入图片描述

mybatis 配置文件规则

类型别名配置 ,用来简化路径描述







setting 配置mybatis核心功能

typeHandlers 类型处理器 用来规定将数据库resultset中string类型数据转为其他类型数据的转换规则

在这里插入图片描述

映射器(mappers) 加载 mapper.xml用的。 正常没在这里配置。在spring中统一扫描即可

既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语
句了。但是首先我们需要告诉 MyBatis 到哪里去找到这些语句。 Java 在自动查找这方面没有提供一个很好的方法,所以最佳的方式是告诉 MyBatis 到哪里去找映射文件。你可以使用相对于类路径的资源引用, 或完全限定资源定位符(包括 file:/// 的 URL),或类名和包名等。例如:

xml文件的配置

mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<configuration>
 <settings>
  <setting name="lohimpl" value="STDOUT_LOGGIN"></setting>
 </settings>
</configuration>
spring-mybatis.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:p="http://www.springframework.org/schema/p"
 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-3.0.xsd
 http://www.springframework.org/schema/tx
 http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
 http://www.springframework.org/schema/aop
 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
 http://www.springframework.org/schema/context    
 http://www.springframework.org/schema/context/spring-context-3.1.xsd "> 
 
<context:component-scan  base-package="root">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
 </context:component-scan>
 </beans>

<!-- 引入配置文件。读取属性文件,将里面的kv对加载到是spring容器中 ,class里的是spring读取属性文件的工具-->
 <bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location"  value="classpath:jdbc:properties" />
 </bean>
 <!-- dbcp 数据库连接池    ${}   spring el表达式-->
 <!-- 数据库连接池只是一个概念。管理数据库连接,有很多数据库连接池工具。tomcat,alibaba,DHCP,dbcp -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName"  value="${driver}" />
  <property name="url"  value="${url}" />
  <property name="username"  value="${username}" />
  <property name="password"  value="${password}" />
  <!-- 初始化连接池大小 -->
  <property name="initialSize" value="${initialSize}" />
  <!--  连接池最大数量 -->
  <property name="maxActive" value="${maxActive}" />
    <!-- 连接池最大空闲 -->
  <property name="maxIdle" value="${maxIdle}" />
    <!-- 连接池最小空闲 -->
  <property name="minIdle" value="${minIdle}" />
    <!-- 获取连接最大等待时间 -->
  <property name="maxWait" value="${maxWait}" />
 </bean>
 
<!-- spring 和  mybatis  完美整合 ,不需要mybatis的配置的映射文件,注册 mybatis的会话工厂-->
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
   <!-- 自动扫描 mapper。xml文件 -->
   <!-- mapper.xml 文件描述要一个社么功能的实现类 -->
  <property name="mapperLocations" class="classpath:root/entity/daoimol/*.xml" />
  <!-- 上边呢个是自动就扫描了。下边这个是当mubatis有啥需要改动的,在这里改,省的动员soring文件出错 -->
  <property name="configLocation" class="classpath:mybatis.xml" />
 </bean>
 <!--  dao接口所在包名,Spring会自动查找其下的类 -->
 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="root.dao接口包" />
  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
 </bean>

数据库连接池相关


数据库连接池用
jdbc.properties


driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
username=c##zff
password=zff
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000

这个是配置springMVC用的

spring-mvc.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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
                        http://www.springframework.org/schema/context  
                        http://www.springframework.org/schema/context/spring-context-4.0.xsd  
                        http://www.springframework.org/schema/mvc  
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
                        <!-- 配置model   and   view -->
                        <!-- 配置静态资源 -->
                        <!-- 配置spring容器扫描 -->
                        <!-- 配置拦截器,比如说文件上传拦截器 -->                          
 <!-- 定义跳转的文件的前后缀 ,视图模式配置
  spring配置xml的语法InternalResourceViewResolver创建实例,注入属性prefix和suffix
  -->
    <mvc:annotation-driven enable-matrix-variables="true" />
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
     <property name="prefix" value="/WEB-INF/jsp/" />
     <property name="suffix" value=".jsp" />
 </bean>         
 <!-- 欢迎页 -->
 <mvc:view-controller path="/" view-name="index"/>        
    <!--配置JSON转换器(相当于以前的alibaba.fastjson),避免IE执行AJAX时,返回JSON出现下载文件 -->
    <bean id="mappingJacksonHttpMessageConverter"
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->  
    <bean
        class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
    <!-- <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
    <bean 
class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/> -->
    <ref bean="mappingJacksonHttpMessageConverter"/>    
            </list>
        </property>
    </bean>
    <!-- 对静态资源的访问,分两种写法 -->
    <!--  
     第一种,匹配静态路径前缀,符合的路径前缀,去访问静态资源,没有的话,匹配handler
  <mvc:resources mapping="/js/**" location="resource/js/" /> 
  <mvc:resources mapping="/css/**" location="resource/css/" /> 
 -->
    <!--
     第二种,允许对静态资源文件的访问 -->
    <mvc:default-servlet-handler />
    <!-- 添加注解驱动,mvc框架和spring一样,也有自己的容器实现了IOC。
     所以能参数注入 ,通过配置,让springmvc只管理controller层-->
    <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
    <context:component-scan base-package="root" />
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 默认编码 -->
    <property name="defaultEncoding" value="UTF-8" />
    <!-- 文件大小最大值 -->
    <property name="maxUploadSize" value="10485760000" />
    <!-- 内存中的最大值 -->
    <property name="maxInMemorySize" value="40960" />
</bean>
 <bean id="first" class="root.tools.Interceptor"></bean>
<mvc:interceptors>
 <mvc:interceptor>
  <mvc:mapping path="/login/interceptor" />
  <mvc:exclude-mapping path=""/>
  <ref bean="first" />
 </mvc:interceptor>
 <mvc:interceptor>
  <mvc:mapping path="/login/interceptor" />
  <bean id="second" class="root.tools.Interceptor2"></bean>
 </mvc:interceptor>
</mvc:interceptors>

<!-- <bean id="first" class="ss1.tools.interceptor.FirstInterceptor"></bean>
<mvc:interceptors>
配置自定义的拦截器 FirstInterceptor
配置自定义的拦截器 SecondInterceptor
<mvc:interceptor>
        配置拦截器作用的路径
 <mvc:mapping path="/Demo/login" />
 若要配置不起作用的路径,则使用 <mvc:exclude-mapping path=""/>
 <ref bean="first"/>
</mvc:interceptor>
 <mvc:interceptor>
  <mvc:mapping path="/权限目录名" />
  <bean id="wefwe" class="ss1.tools.interceptor.FirstInterceptor"></bean>
 </mvc:interceptor>
</mvc:interceptors> -->
</beans>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值