两个数据库都有一张名为car的表:
mybatis-config.xml
CarMapper.xml
insert into t_car values(null, '8888', '沃尔沃', 30.0, '2000-09-08', '燃油车')
测试类
ConfigurationTest.java
package com.sdnu.mybatis.test;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;import java.io.IOException;public class ConfigurationTest {@Testpublic static void main(String[] args) throws IOException {SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));SqlSession sqlSession = sqlSessionFactory.openSession();sqlSession.insert("car.insertCar");sqlSession.commit();sqlSession.close();SqlSessionFactoryBuilder sqlSessionFactoryBuilder1 = new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory1 = sqlSessionFactoryBuilder1.build(Resources.getResourceAsStream("mybatis-config.xml"), "mybatisDB");SqlSession sqlSession1 = sqlSessionFactory1.openSession();sqlSession1.insert("car.insertCar");sqlSession1.commit();sqlSession1.close();}
}
设置断点
断点前:
断点后
作用:配置任务管理器,指定mybatis用什么方式去管理事务
type属性有两个值
(1)dataSource被称为数据源
(2)作用:为程序提供Connection对象。(但凡是给程序提供Connection对象的,都叫做数据源。)
(3)数据源实际上是一套规范。JDK中有这套规范:javax.sql.DataSource(这个数据源的规范,这套接口实际上是JDK规定的。)
(4)我们自己也可以编写数据源组件,只要实现javax.sql.DataSource接口就行了。实现接口当中所有的方法。这样就有了自己的数据源。
比如你可以写一个属于自己的数据库连接池(数据库连接池是提供连接对象的,所以数据库连接池就是一个数据源)。
(5)常见的数据源组件(数据库连接池):druid
(6)type属性用来指定数据源的类型,就是指定具体使用什么方式来获取Connection对象:(type属性有三个值:必须是三选一。
type=“[UNPOOLED|POOLED|JNDI]”)
测试程序:
@Testpublic void testDataSource() throws IOException{SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));//通过sqlSessionFactory可以开启多个会话//会话1SqlSession sqlSession1 = sqlSessionFactory.openSession();sqlSession1.insert("car.insertCar");sqlSession1.commit();sqlSession1.close();//会话2SqlSession sqlSession2 = sqlSessionFactory.openSession();sqlSession2.insert("car.insertCar");sqlSession2.commit();sqlSession2.close();}
针对上面程序改一行:
jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
username=root
password=Wgf720130601
mybatis-config.xml
resource从类路径开始加载
mapper标签⽤来指定SQL映射⽂件的路径,包含多种指定⽅式,这⾥先主要看其中两种: