MyBatis配置数据源

来源:互联网 发布:单片机的用途 编辑:程序博客网 时间:2024/05/16 09:24

一、设置Mybatis配置文件

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><settings><!-- 这个配置使全局的映射器启用或禁用缓存。默认true --><setting name="cacheEnabled" value="true"/><!-- 全局启用或禁用延迟加载。默认true --><setting name="lazyLoadingEnabled" value="true"/><!-- 允许或不允许多种结果集从一个单独的语句中返回。默认true --><setting name="multipleResultSetsEnabled" value="true"/></settings><!-- 类型别名是为Java类型命名一个短的名字。它只和XML配置有关,只用来减少类完全限定名的多余部分。 --><typeAliases><typeAlias alias="Student" type="cn.test.entity.Student"/><typeAlias alias="Group" type="cn.test.entity.Group"/></typeAliases><environments default="mySql"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/><!-- 在任意时间存在的活动(也就是正在使用)连接的数量。默认值:10 --><property name="poolMaximumActiveConnections" value="10"/>                  <!-- 任意时间存在的空闲连接数 -->                <property name="poolMaximumIdleConnections" value="5"/>                  <!-- 在被强制返回之前,池中连接被检查的时间。默认值:20000毫秒(也就是20秒) -->                 <property name="poolMaximumCheckoutTime" value="20000"/>                 <property name="poolTimeToWait" value="20000"/>  </dataSource></environment><environment id="mySql"><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="123456"/></dataSource></environment><environment id="oracle"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="oracle.jdbc.driver.OracleDriver"/><property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL"/><property name="username" value="mm"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper resource="cn/test/data/StudentMapper.xml"/><mapper resource="cn/test/data/GroupMapper.xml"/></mappers></configuration>

二、写工具类MybatisUtils

package cn.test.utils;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtils {private static final String RESOURCE = "mybatis-config.xml";private static SqlSessionFactory sqlSessionFactory;private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();static{try {Reader reader = Resources.getResourceAsReader(RESOURCE);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();sqlSessionFactory = builder.build(reader);} catch (IOException e) {e.printStackTrace();throw new ExceptionInInitializerError("初始化MyBatis错误!请检查配置文件或者数据库");}}//得到一个SqlSessionpublic static SqlSession getSession(){SqlSession session = threadLocal.get();if(session==null){session = sqlSessionFactory.openSession();threadLocal.set(session);}return session;}//关闭当前线程的SqlSessionpublic static void closeSession(){SqlSession session = threadLocal.get();threadLocal.set(null);if(session!=null){session.close();}}}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 l安卓手机运存不够用怎么办 红米2屏幕失灵怎么办 红米手机电池不耐用怎么办 红米手机没内存怎么办 红米2a卡顿怎么办 红米2a手机卡顿怎么办 红米5a内存不足怎么办 红米note1s内存不够怎么办 红米2手机没内存怎么办 红米note显示无服务怎么办 红米手机死屏了怎么办 红米4a信号不好怎么办 小米2a开不了机怎么办 红米4x屏幕失灵怎么办 红米4x外屏坏了怎么办 honor手机开不了机怎么办 honor黑屏开不了机怎么办 红米2开机停在mi怎么办 红米手机无法开机怎么办 小米手机帐号密码忘了怎么办 小米手机忘记小米账号密码怎么办 小米4账号密码忘了怎么办 小米2a触屏失灵怎么办 红米note5拍照不清晰怎么办 红米手机太卡怎么办 红米3x忘记密码怎么办 红米手机太卡了怎么办 红米手机太卡怎么办? 红米3老是死机怎么办 红米3s经常死机怎么办 红米4a进水了怎么办 魅族耳机声音小怎么办 魅蓝note6声音小怎么办 魅蓝3s锁定怎么办 红米1密码忘了怎么办 小米手环升级失败怎么办 红米4忘记密码怎么办 红米1代忘记密码怎么办 红米3s忘记密码怎么办 小米3卡槽卡住了怎么办 红米4手机信号不好怎么办