zoukankan      html  css  js  c++  java
  • MyBatis-Spring(一)--搭建步骤

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

    1 <dependency>
    2     <groupId>org.mybatis</groupId>
    3     <artifactId>mybatis-spring</artifactId>
    4     <version>1.3.2</version>
    5 </dependency>

    配置MyBatis-Spring项目的步骤:

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

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

    一、配置数据源

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

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

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

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

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

    1 <dependency>
    2     <groupId>commons-dbcp</groupId>
    3     <artifactId>commons-dbcp</artifactId>
    4     <version>1.4</version>
    5 </dependency>

    配置方式:

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

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

    4⃣️JNDI方式

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

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

    然后在spring中进行配置:

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

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

    二、配置SqlSessionFactory

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

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

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

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

    三、配置Mapper

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

    四、事务管理

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

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

  • 相关阅读:
    python 并发编程 多线程 event
    python 并发编程 多线程 定时器
    python 并发编程 多线程 信号量
    linux top 查看CPU命令
    python 并发编程 多线程 GIL与多线程
    python 并发编程 多线程 死锁现象与递归锁
    python 并发编程 多线程 GIL与Lock
    python GIL全局解释器锁与互斥锁 目录
    python 并发编程 多线程 GIL全局解释器锁基本概念
    执行python程序 出现三部曲
  • 原文地址:https://www.cnblogs.com/hellowhy/p/9727978.html
Copyright © 2011-2022 走看看