spring和mybatis结合

Spring和Mybatis

          Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

          两个重要模块:Spring面向方面编程(AOP)和控制反转(IOC)容器。

          控制反转模式(也称作依赖性介入)的基本概率是:不创建对象,但是描述创建它们的方式。

          在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。

           容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。

           MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及 结果集的检索。

           MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及 结果集的检索。

整合思路:

1、数据源信息交给spring管理

2、SqlSessionFactory交给spring进行单例管理

3、由spring来管理原始dao的实现类或者mapper代理的代理类。

工程搭建

创建Maven工程,添加如下依赖:

Spring的依赖:spring-context

Mybatis的依赖:mybatis

Spring和mybatis的整合:mybatis-spring

Spring-jdbc的依赖:spring-jdbc

Jdbc连接:mysql-connector-java

dbcp的依赖:commons-dbcp2

aop的依赖:aspectjweaver

添加mybatis配置文件

    <settings>       

 <!--指定mybatis默认的日志实现,这里选用标准输出,可以打印出执行过程的sql语句,详细信息查看mybatis官网中setting设置一节-->

<!-- 开启驼峰命名规则  -->
     <setting name="mapUnderscoreToCamelCase" value="true"/>  

<!--开启日志-->     

<setting name="logImpl" value="STDOUT_LOGGING"/>         

<!-- 延迟加载 默认false -->        

<setting name="lazyLoadingEnabled" value="true" />        

<!-- 积极加载 默认true -->        

<setting name="aggressiveLazyLoading" value="false" />        

<!--开启缓存-->        

<setting name="cacheEnabled" value="true"/>   

 </settings>     

<typeAliases>       

 <package name="com.smile.model"/>   

 </typeAliases>

3.添加spring配置文件

配置bean的自动扫描

<context:component-scan base-package="com.smile"/>

使用dbcp连接池配置数据源

<bean name="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">      

  <property name="driverClassName" value="${jdbc.Driver}" />        

<property name="url" value="${jdbc.url}" />        

<property name="username" value="${jdbc.username}" />      

  <property name="password" value="${jdbc.password}" />      

  <!-- 作为一个数据库连接池  性能参数   -->      

  <!-- maxActive:最大连接数量  -->        

<property name="maxActive" value="10" />        

<!-- maxIdle: 最大空闲连接  -->         

<property name="maxIdle" value="5" />

   </bean>

配置SqlSessionFactoryBean

 <!-- Mybatis核心工厂类    -->  

 <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

 <property name="configLocation" value="classpath:resource/mybatis-config.xml"/>      

<property name="dataSource" ref="dataSource"></property>  

 </bean>

配置MapperScannerConfigurer

<!-- 这段配置会扫描com.smile.mapper下的所有接口,然后创建各自接口的动态代理类 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        

<property name="basePackage" value="com.smile.mapper"/>  

 </bean>

4.创建jdbc.properties配置文件

jdbc.Driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis

jdbc.username=root

jdbc.password=123456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值