MyBatis-Spring项目不是Sring项目的子框架,而是由MyBatis社区开发的,所以在使用之前首先要导入mybatis-spring包,我是通过maven添加的依赖:

 <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>

配置MyBatis-Spring项目的步骤:

  • 配置数据源
  • 配置SqlSessionFactory。可以选择的配置有SqlSessionTemplate,在同时配置SqlSessionFactory和SqlSessionTemplate的情况下,优先采用SqlSessionTemplate。
  • 配置Mapper。可以配置单个Mapper,也可以通过扫描的方法生成Mapper,此时Spring IoC会生成对应接口的实例,可以通过注入方式获取资源。
  • 事务管理。

下面介绍每一步的配置方法:

一、配置数据源

在spring中配置数据源时,可以使用spring内部提供的SimpleDriverDataSource类,也可以使用第三方数据库连接池或者从web服务中通过JNDI获取数据源,下面是这三种方式的具体配置:

1⃣️使用spring内部提供的类

 <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5433/postgres" />
<property name="username" value="postgres" />
<property name="password" value="postgres" />
</bean>

2⃣️第三方数据库连接池

如DBCP数据库连接池,使用之前要先下载相关的jar包

 <dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>

配置方式:

 <!-- 第一步:配置数据源--使用数据库连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5433/postgres" />
<property name="username" value="postgres" />
<property name="password" value="hyc123" />
<!-- 最大数据库连接数 -->
<property name="maxActive" value="100" />
<!-- 最大空闲数,即等待连接数 -->
<property name="maxIdle" value="5" />
<!-- 最大等待连接时间 -->
<property name="maxWait" value="10000" />
</bean>

自己开发测试是可以使用第一种,但在项目中基本都用数据库连接池的方式。

4⃣️JNDI方式

首先要在Tomacat、WebLogic等JavaEE服务器上配置数据源,以Tomcat为例,在server.xml中增加如下配置:

 <Resource
name="jdbc/pg"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="postgres"
password="postgres"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5433/postgres?useUnicode=true&amp;characterEncoding=utf-8"/>

然后在spring中进行配置:

 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/pg"></property>
</bean>

有关JNDI的配置可以参考大神文章:https://www.cnblogs.com/xdp-gacl/p/3951952.html

二、配置SqlSessionFactory

在mybatis中SqlSession是进行数据库操作的关键,而它是由SqlSessionFactory产生的,在MyBatis-Spring中,提供了SqlSessionFactoryBean支持SqlSessionFactory的创建.在spring中的配置如下:

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 配置数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置mybatis -->
<property name="configLocation" value="mybatis-config2.xml" />
</bean>

如上代码中所示,SqlSessionFactory有两个属性:

  • dataSource:配置数据源,引用上文中的任意一种配置方式;
  • configLocation:mybatis配置文件的路径;

三、配置Mapper

mapper就是mybatis中的映射器,包括一个接口和一个mapper.xml文件,在前面的mybatis中已经介绍过。配置完之后需要注意的一点是,一定要将这个mapper.xml引入mybatis的配置文件,也就是第二步中的mybatis-config2.xml文件中。

四、事务管理

这部分内容后面的文章中专门介绍。

以上就是搭建MyBatis-Spring项目的步骤,下一篇文章将介绍通过SqlSessionTemplate实现数据库的增删改查。

MyBatis-Spring(一)--搭建步骤的更多相关文章

  1. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  2. 【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤

    一.整体概览 首先看maven工程的创建 二.各层的文件配置 2.1,SSM父工程 <span style="font-family:KaiTi_GB2312;font-size:18 ...

  3. Spring+SpringMVC+MyBatis+easyUI整合基础篇(三)搭建步骤

    框架介绍: 主角即Spring.SpringMVC.MyBatis.easyUI,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.   工作环境:       jdk 1.7       m ...

  4. Spring+SpringMVC+MyBatis整合基础篇(三)搭建步骤

    作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载. 框架介绍 Spring SpringMVC MyBatis easyUI ...

  5. Spring+SpringMvc+Mybatis框架集成搭建教程

    一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼 ...

  6. Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    1.开发工具使用: MyEclipse或Eclipse,数据库使用Oracle.需要用到的软件有Zookeeper(注册中心),Tomcat(Web容器)和Maven(包管理). 2.初始环境配置: ...

  7. Spring+SpringMVC+Mybatis环境的搭建(使用Intellij IDEA)

    前言:本文主要介绍利用IDEA如何搭建SSM环境,并使用mybatis的逆向生成功能,根据数据表生成对应mapper接口和sql映射文件.具体步骤如下. 开发环境: IDEA 14.1.7 maven ...

  8. springmvc学习总结(二) -- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解

    @_@ 写在最前 之前分享过下面这几篇: mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法) myba ...

  9. 【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...

  10. maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解

    转自:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral @_@ 写在最前 之 ...

随机推荐

  1. work-record:20190618

    ylbtech-work-record:20190618 1.返回顶部 1.1. -- formId记录表 -- select * from record_form_id; -- drop table ...

  2. 云-腾讯云-云点播:云点播(VOD)

    ylbtech-云-腾讯云-云点播:云点播(VOD) 提供端到端的一站式VpaaS音视频点播解决方案 1.返回顶部 1. 云点播(Video on Demand,VOD)基于腾讯多年技术积累与基础设施 ...

  3. Seam科普

    声明:这是引用的,具体引用位置在最下面. 只供个人学习,免得忘记了又要到处找,十分感谢原作作者.如果有什么问题请联系我. Seam框架开发一个HelloWrld的例子. Seam本身,而在于Seam使 ...

  4. C# ObservableCollection集合排序

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83346807注意:ObservableColl ...

  5. 关于C++ const 的全面总结 分类: ubuntu 2014-12-03 21:03 72人阅读 评论(0) 收藏

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ...

  6. import time 进度条动态输出26个字母

    # 2018-08-06 19:42:51 import time # 调用时间模块 num = 97 # 字母a while num <= 115: # print(chr(num), end ...

  7. vue-cli3使用yarn run build打包找不到路径

    vue-cli3使用yarn run build打包项目部署到服务器上面,运行空白 解决办法非常方便,直接创建vue.config.js 在vue.config.js中添加即可 再打包项目即成功

  8. JavaScript中对象的3种定义方式

    对象是有特性(属性)和功能(方法)的集合体. 定义对象有以下3种方式: 1.使用系统的new Object()方式定义对象 2.使用对象字面量定义对象( 即使用{}语法糖结构定义对象 ) 3.使用自定 ...

  9. Error:(27, 13) Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2约束布局constraint-layout导入失败的解决方案

    运行demo提示错误: Error:(27, 13) Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2 ...

  10. Tensorflow入门篇

     参考Tensorflow中文网(http://www.tensorfly.cn/tfdoc/get_started/introduction.html) ,写一个入门. 1.打开pyCharm,新建 ...