`
gaojingsong
  • 浏览: 1201313 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Mybatis多数据源的配置实验】

阅读更多

mybatis多数据源在项目开发中经常用到,有时候可能是为了主从读写分离,有时候可能是需要调用不同的业务库数据,因此需要使用到Mybatis多数据源配置

 

1、步骤一:配置多数据源sit1、dev2

 <environments default="development">

        <environment id="sit1">

            <transactionManager type="JDBC" />

            <!-- 配置数据库连接信息 -->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.jdbc.Driver" />

                <property name="url" value="jdbc:mysql://localhost:3306/test" />

                <property name="username" value="root" />

                <property name="password" value="123" />

            </dataSource>

        </environment>

        <environment id="dev2">

            <transactionManager type="JDBC" />

            <!-- 配置数据库连接信息 -->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.jdbc.Driver" />

                <property name="url" value="jdbc:mysql://localhost:3306/mysql" />

                <property name="username" value="root" />

                <property name="password" value="123" />

            </dataSource>

        </environment>

    </environments>

   <!-- mapping 文件路径配置 -->  

    <mappers>  

        <mapper resource="user.xml" />  

    </mappers>  

 

2、部署二:准备不同的数据库表,test -->tb_test   , Mysql -->db

 

C:\Documents and Settings\Administrator>mysql -uroot -p

Enter password: ***

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| phpmyadmin         |

| test               |

+--------------------+

4 rows in set (0.03 sec)

 

mysql> use test;

Database changed

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| tb_file        |

| tb_test        |

+----------------+

2 rows in set (0.02 sec)

 

mysql> use mysql;

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| func                      |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| proc                      |

| procs_priv                |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

17 rows in set (0.00 sec)

 

3、步骤三:编写SQL配置文件

<select id="getDb1" resultType="java.lang.Integer">

    select count(*) from tb_test

    </select>

    

    <select id="getDb2" resultType="java.lang.Integer">

    select count(*) from db

    </select>

 

4、步骤四:编写java测试程序

 

package mybatistest.mybatisdemo;

import java.io.InputStream;

import mybatistest.mybatisdemo.vo.User;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

public class MultiDataSource {

/**

* Mybatis多数据源的配置实验 

* <properties>

*   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

* </properties>

* <dependencies>

*  <dependency>

*    <groupId>org.mybatis</groupId>

*    <artifactId>mybatis</artifactId>

*    <version>3.3.0</version>

*  </dependency>

*  <dependency> 

*    <groupId>mysql</groupId>

*    <artifactId>mysql-connector-java</artifactId>

*    <version>5.1.18</version>

*  </dependency>

* </dependencies>

* @param args

*/

public static void main(String[] args) {

           // 创建能执行映射文件中sql的sqlSession

           SqlSession session = getSessionFactory("sit1").openSession();

           String namespace = "cn.com.test.userinfo.";// 映射sql的标识字符串

             // 执行查询返回一个唯一user对象的sql

           int count = session.selectOne(namespace + "getDb1");

          System.out.println("=====total count tb_test====" + count);

 

             // 创建能执行映射文件中sql的sqlSession

             SqlSession session2 = getSessionFactory("dev2").openSession();

            count = session2.selectOne(namespace + "getDb2");

           System.out.println("=====total count=db====" + count);

}

 

public static SqlSessionFactory getSessionFactory(String environmentId) {

         // mybatis的配置文件

            String resource = "conf.xml";

          // 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)

          InputStream is = MultiDataSource.class.getClassLoader().getResourceAsStream(resource);

          // 构建sqlSession的工厂

         SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is, environmentId);

         return sessionFactory;

}

}

 

5、步骤五:实验验证

 1)准备数据库表


 

 2)实验结果


 

 

 

  • 大小: 17.2 KB
  • 大小: 38.7 KB
0
2
分享到:
评论

相关推荐

    企业级应用开发-MyBatis关联映射实践实验报告.docx

    MyBatis 的核心配置文件中需要指定数据源、事务管理器以及映射文件的位置。这里需要设置 `&lt;dataSource&gt;`、`&lt;transactionManager&gt;` 和 `&lt;mapper&gt;` 标签,确保 MyBatis 能找到数据库连接和 SQL 映射文件。 4. **编写...

    MyBatis基本使用总结

    其中,最重要的是数据源配置,它定义了如何连接到数据库,如JDBC驱动、URL、用户名和密码。此外,还可以配置SqlSessionFactoryBuilder和SqlSessionFactory,它们是MyBatis运行的核心对象。 二、实体类与映射文件 在...

    mybatis笔记

    1. MyBatis主配置文件:配置数据源、事务管理器、环境等基本信息。 2. 映射文件:每个表对应一个XML文件,用于编写SQL语句和结果映射。 三、MyBatis注解使用 1. @Select:用于定义查询方法,包含SQL语句。 2. @...

    Mybatis课程实验报告及源码,实验名称:Mybatis框架实现数据持久化操作(可不用修改直接使用)

    实验步骤:报告详细列出了实验的步骤,包括创建项目、配置Mybatis、定义数据模型、编写SQL映射文件和执行数据操作等。每个步骤都伴随着示例代码和屏幕截图,以便读者可以按部就班地完成实验。 实验结果:报告展示了...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis)所有实验及实验报告

    此外,Spring还支持多种数据源集成,包括JDBC、ORM框架如Hibernate,以及NoSQL数据库。 Spring MVC是Spring框架的一部分,专门用于构建Web应用的模型-视图-控制器(MVC)架构。实验可能涵盖如何定义控制器,创建...

    MyBatis SpringMVC 整合总结

    2. **配置Spring**:在Spring的配置文件(如`applicationContext.xml`)中,配置SqlSessionFactory,这通常包括数据源、MyBatis的核心配置文件路径等。可以使用`&lt;mybatis:scan&gt;`标签来扫描Mapper接口。 3. **创建...

    mybatis初步环境搭建

    - `dataSource`:数据源配置,可以选择POOLED(连接池)、UNPOOLED(无连接池)或JNDI(Java命名和目录接口)。 - **Mappers**:用于注册Mapper文件,每个Mapper文件都对应一个接口,方便后续的操作。 #### 五、...

    springMVC+myBatis增删改查小程序

    2. **配置MyBatis**:在主配置文件中添加数据源、事务管理器、SqlSessionFactory等配置。 3. **Mapper配置**:编写Mapper接口和对应的XML配置文件,定义SQL语句。 4. **Service与DAO层**:实现业务逻辑,通过...

    MyBatis+SpringMvc整合项目.zip

    开发者需要创建相应的数据库表,并在MyBatis的配置中指定数据源连接。 在Eclipse这样的集成开发环境中,开发者可以方便地创建、运行和调试这个项目。项目结构通常包括src/main/java(Java源代码)、src/main/...

    搭建Spring和MyBatis框架实验总结.docx

    - **配置Spring**:在`applicationContext.xml`中配置数据源、事务管理器和SqlSessionFactoryBean等。 - 数据源:可以使用Druid或C3P0等连接池管理数据库连接。 - 事务管理器:设置事务传播行为等属性。 - ...

    Java课程实验 Spring Boot 分别整合 MyBatis、JPA

    2.配置数据源: 在 application.properties(或 application.yml)中配置MySQL数据库连接信息 3.创建实体类和Mapper接口: 创建实体类,表示数据库表的映射对象。 创建Mapper接口,使用注解或XML配置SQL语句和数据库...

    springboot项目实训源代码+thymeleaf+mysql+mybatis

    运行环境: 1、JDK1.8及以上版本 2、Tomcat 8.0及以上版本 3、MySql 5.7及以上版本 开发工具: ... 10、数据库脚本及数据在项目源代码主文件夹user.sql 课程资料: 1.项目源代码,数据库脚本文件

    在IDEA中通过MyBatis框架访问达梦数据库

    5. **配置MyBatis**:在`src/main/resources`目录下创建MyBatis的核心配置文件`mybatis-config.xml`,并配置数据库连接信息。 ```xml &lt;!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...

    springboot_mybatis整合.zip

    - **配置数据源**:在`application.properties`中配置数据库连接信息。 ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false spring.datasource.username=root spring.datasource.password=...

    mybatis_crud增删改查数据库操作.zip

    - `mybatis-config.xml`: MyBatis全局配置文件,包含了数据源、事务管理器等配置。 - `SqlMapConfig.xml`: 包含了SqlSessionFactory的配置,以及Mapper XML文件的位置。 - `User.java`: 用户实体类。 - `UserMapper....

    Spring-MyBatis框架整合示例

    3. **创建Spring配置文件**:在src/main/resources目录下创建applicationContext.xml,配置数据源、SqlSessionFactory、MapperScannerConfigurer等,如下: ```xml &lt;!-- 数据库连接信息 --&gt; ...

    spring+mybatis企业应用实战 PDF完整目录 方便阅读器跳转阅读

    Mybatis与Spring的集成,使得事务管理、数据源配置等变得更加简单。 书中的完整目录通常会涵盖以下几个主要部分: 1. **Spring框架基础**:介绍Spring的核心概念,包括IoC容器、AOP、Bean的生命周期等,并展示如何...

    JAVAEE Spring-mybatis 架构网上图书系统

    在压缩包文件"springbootmybatistest"中,很可能包含了该项目的所有源代码,包括Spring MVC的Controller、Service、DAO层,Mybatis的Mapper接口和XML配置文件,以及相关的实体类和配置文件。此外,可能还有数据库的...

    本资源是关于MyBatis持久层框架开发的Java框架开发技术的实验指导书,里面包括两个系统和基础讲解

    1. **配置文件读取**:首先,MyBatis会读取核心配置文件`mybatis-config.xml`,这个文件定义了MyBatis的运行环境,如数据源、事务管理器等。 2. **映射文件加载**:接着,MyBatis会加载`Mapper.xml`文件,这些文件...

Global site tag (gtag.js) - Google Analytics