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)实验结果
相关推荐
MyBatis 的核心配置文件中需要指定数据源、事务管理器以及映射文件的位置。这里需要设置 `<dataSource>`、`<transactionManager>` 和 `<mapper>` 标签,确保 MyBatis 能找到数据库连接和 SQL 映射文件。 4. **编写...
其中,最重要的是数据源配置,它定义了如何连接到数据库,如JDBC驱动、URL、用户名和密码。此外,还可以配置SqlSessionFactoryBuilder和SqlSessionFactory,它们是MyBatis运行的核心对象。 二、实体类与映射文件 在...
1. MyBatis主配置文件:配置数据源、事务管理器、环境等基本信息。 2. 映射文件:每个表对应一个XML文件,用于编写SQL语句和结果映射。 三、MyBatis注解使用 1. @Select:用于定义查询方法,包含SQL语句。 2. @...
实验步骤:报告详细列出了实验的步骤,包括创建项目、配置Mybatis、定义数据模型、编写SQL映射文件和执行数据操作等。每个步骤都伴随着示例代码和屏幕截图,以便读者可以按部就班地完成实验。 实验结果:报告展示了...
此外,Spring还支持多种数据源集成,包括JDBC、ORM框架如Hibernate,以及NoSQL数据库。 Spring MVC是Spring框架的一部分,专门用于构建Web应用的模型-视图-控制器(MVC)架构。实验可能涵盖如何定义控制器,创建...
2. **配置Spring**:在Spring的配置文件(如`applicationContext.xml`)中,配置SqlSessionFactory,这通常包括数据源、MyBatis的核心配置文件路径等。可以使用`<mybatis:scan>`标签来扫描Mapper接口。 3. **创建...
- `dataSource`:数据源配置,可以选择POOLED(连接池)、UNPOOLED(无连接池)或JNDI(Java命名和目录接口)。 - **Mappers**:用于注册Mapper文件,每个Mapper文件都对应一个接口,方便后续的操作。 #### 五、...
2. **配置MyBatis**:在主配置文件中添加数据源、事务管理器、SqlSessionFactory等配置。 3. **Mapper配置**:编写Mapper接口和对应的XML配置文件,定义SQL语句。 4. **Service与DAO层**:实现业务逻辑,通过...
开发者需要创建相应的数据库表,并在MyBatis的配置中指定数据源连接。 在Eclipse这样的集成开发环境中,开发者可以方便地创建、运行和调试这个项目。项目结构通常包括src/main/java(Java源代码)、src/main/...
- **配置Spring**:在`applicationContext.xml`中配置数据源、事务管理器和SqlSessionFactoryBean等。 - 数据源:可以使用Druid或C3P0等连接池管理数据库连接。 - 事务管理器:设置事务传播行为等属性。 - ...
2.配置数据源: 在 application.properties(或 application.yml)中配置MySQL数据库连接信息 3.创建实体类和Mapper接口: 创建实体类,表示数据库表的映射对象。 创建Mapper接口,使用注解或XML配置SQL语句和数据库...
运行环境: 1、JDK1.8及以上版本 2、Tomcat 8.0及以上版本 3、MySql 5.7及以上版本 开发工具: ... 10、数据库脚本及数据在项目源代码主文件夹user.sql 课程资料: 1.项目源代码,数据库脚本文件
5. **配置MyBatis**:在`src/main/resources`目录下创建MyBatis的核心配置文件`mybatis-config.xml`,并配置数据库连接信息。 ```xml <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...
- **配置数据源**:在`application.properties`中配置数据库连接信息。 ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false spring.datasource.username=root spring.datasource.password=...
- `mybatis-config.xml`: MyBatis全局配置文件,包含了数据源、事务管理器等配置。 - `SqlMapConfig.xml`: 包含了SqlSessionFactory的配置,以及Mapper XML文件的位置。 - `User.java`: 用户实体类。 - `UserMapper....
3. **创建Spring配置文件**:在src/main/resources目录下创建applicationContext.xml,配置数据源、SqlSessionFactory、MapperScannerConfigurer等,如下: ```xml <!-- 数据库连接信息 --> ...
Mybatis与Spring的集成,使得事务管理、数据源配置等变得更加简单。 书中的完整目录通常会涵盖以下几个主要部分: 1. **Spring框架基础**:介绍Spring的核心概念,包括IoC容器、AOP、Bean的生命周期等,并展示如何...
在压缩包文件"springbootmybatistest"中,很可能包含了该项目的所有源代码,包括Spring MVC的Controller、Service、DAO层,Mybatis的Mapper接口和XML配置文件,以及相关的实体类和配置文件。此外,可能还有数据库的...
1. **配置文件读取**:首先,MyBatis会读取核心配置文件`mybatis-config.xml`,这个文件定义了MyBatis的运行环境,如数据源、事务管理器等。 2. **映射文件加载**:接着,MyBatis会加载`Mapper.xml`文件,这些文件...