Atitit mybatis spring整合。读取spring、yml、文件的mysql url

步骤,读取yml,文件,使用ongl定位到url pwd usr

读取mybatis模板配置,,替换其中的mysql url等参数。。

注意xml转义符号

使用SqlSessionFactoryBuilder().build(is2); 加在加载

package org.chwin.firefighting.apiserver.data;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
import java.util.Map;

import com.google.common.base.Charsets;
import com.google.common.io.CharStreams;
import groovy.xml.XmlUtil;
import ognl.Ognl;
import ognl.OgnlException;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.alibaba.fastjson.JSON;

@SuppressWarnings("rawtypes")
public class mybatisdemo {
   public static void main(String[] args) throws Exception {

String resource = "/mybatis.xml";
      // ����mybatis �������ļ�����Ҳ���ع�����ӳ���ļ���
      //ClassLoader classLoader = .getClassLoader();
      InputStream is = mybatisdemo.class.getResourceAsStream(resource);
      String mybatisCfg_result = CharStreams.toString(new InputStreamReader(is, Charsets.UTF_8));

org.yaml.snakeyaml.Yaml yaml = new org.yaml.snakeyaml.Yaml();
        Object mObject=yaml.load(mybatisdemo.class.getResourceAsStream("/application-test.yml"));
      Object expression = Ognl.parseExpression("spring.datasource.url");
      Object url = Ognl.getValue(expression, mObject);
      Object usr = Ognl.getValue(Ognl.parseExpression("spring.datasource.username"), mObject);
      Object pwd = Ognl.getValue(Ognl.parseExpression("spring.datasource.password"), mObject);
if(pwd==null)pwd="";
      url= XmlUtil.escapeXml(url.toString());

mybatisCfg_result=mybatisCfg_result.replaceAll("\\$\\{mysql.url}",url.toString());
      mybatisCfg_result=mybatisCfg_result.replaceAll("\\$\\{mysql.username}",usr.toString());

mybatisCfg_result=mybatisCfg_result.replaceAll("\\$\\{mysql.password}",pwd.toString());

System.out.println(mybatisCfg_result);
      InputStream is2=new ByteArrayInputStream(mybatisCfg_result.getBytes());
        // ����sqlSession Ĺ���
      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is2);

SqlSession session = sqlSessionFactory.openSession(true);
   // api ��Ϊ[ openSession(boolean autoCommit) ]���ò���ֵ���������Ƹ� sqlSession �Ƿ��Զ����true��ʾ�Զ����false��ʾ���Զ��ύ[���޲εķ�������һ£������Զ��ύ]

      MybatisMapperCls mapper = session.getMapper(MybatisMapperCls.class);

// List li =mapper.queryall();

      List<Map> li = mapper.query("select * from tab1");
      System.out.println(JSON.toJSONString(li, true));
      session.close();
      // = session.selectList(arg0);

   }

Atitit mybatis spring整合。读取spring、yml、文件的mysql url 步骤,读取yml,文件,使用ongl定位到url pwd usr 读取mybatis模板配置,相关推荐

  1. 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  2. mysql 没有my.cnf文件_Linux mysql没有my.cnf,替代文件为mysql.conf.d

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) mysql数据root密码异常之 ...

  3. python文件操作的一般步骤_4.1Python文件基本操作

    Python文件基本操作 文件的读写方法有六种:W,R,A,W+,A+,R+ 读模式: # -*-coding:utf-8 -*- __author__ = 'xiaojiaxin' __file_n ...

  4. linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令

    广告 2017年11月13日 MySQL中你可以使用SELECT ... INTO OUTFILE语句来简单的导出数据到文本文件上. 使用SELECT ... INTO OUTFILE语句导出数据 以 ...

  5. mysql workbench导入mdb_如何将MDB(Access)文件转换为MySQL(或纯SQL文件)?

    你想转换mdb到mysql(直接传输到mysql或mysql转储)? 尝试一个名为访问MySQL的软件. 访问MySQL是一个小程序,将Microsoft Access数据库转换为MySQL. 向导界 ...

  6. xml文件写入mysql数据库_将XML文件插入到数据库

    Xml2OleDb简介 XML是互联网共享数据的最好的方法,XML格式的数据可以很轻松的集成到不同的Web应用中去.但如果你想将XML文件插入到数据库,怎么办?Xml2OleDb将向您说明往OleDb ...

  7. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)

    http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...

  8. redis入门——Spring整合篇

    redis入门--Spring整合篇 @(Redis)[服务器, 连接池, 集群, jedis, spring] redis入门Spring整合篇 Spring整合Redis redis整合分析 编写 ...

  9. spring整合各种RPC框架(netty、dubbo、dubbox、gRPC、Motan)-续(Motan)

    继上文 :spring整合各种RPC框架(netty.dubbo.dubbox.gRPC.Motan)-续(gRPC) Motan相关介绍? Motan是新浪微博开源的一套基于java开发的RPC框架 ...

  10. Struts2+Hibernate+Spring 整合示例

    转自:https://blog.csdn.net/tkd03072010/article/details/7468769 Struts2+Hibernate+Spring 整合示例 Spring整合S ...

最新文章

  1. mysql主从字符集不一致_MySQL多字节字符集造成主从数据不一致问题
  2. USTC English Club Note20211215
  3. Spring Security——OAuth 2.0登录——Google,GitHub,Facebook和Okta
  4. LINQ:进阶 - LINQ 标准查询操作概述
  5. 第十一:Pytest进阶之conftest.py
  6. HALCON标定板简介
  7. Triple Generative Adversarial Nets
  8. java plugin firefox_Firefox 中使用 Java 插件
  9. linux增强工具安装过程
  10. Java的中文转换拼音、五笔简码
  11. 计算机电缆对绞节距,耐高温双绞计算机电缆DJFFP2√厂家
  12. 广义速度V与管理理论——流水线、TPS…
  13. Mac 下erlang及rabbitmq安装
  14. Python 修改字体颜色
  15. Webstorm干货(开发效率快到飞起!!!)
  16. 问题 A: 相约HNUST
  17. Eclipse配置tomcat服务器及tomcat简介
  18. vscode查看外部依赖包的源码
  19. CentOS Linux release 7.7-安装搜狗输入法、Pycharm无法输入中文解决
  20. “报表工程师”的自我修养

热门文章

  1. Java铬钼钢车架几何_车架的几何尺寸
  2. 红绿3d眼镜与红蓝3d眼镜区别_佩极定制眼镜青少年3D打印定制系列全新发布
  3. linux编译安装mysql的意思,linux编译模式安装mysql 步骤说明
  4. 软件从“出生”到“消亡”的过程称为_软件测试面试最常问到的101个面试问题,你中枪了吗?(一)...
  5. delphi mysql类_Delphi MySQL数据库操作类
  6. 【死磕 Spring】—– IOC 之 bean 的初始化
  7. hive字段名、注释中文显示问号
  8. 设计模式(建造者模式)
  9. SqlSessionFactoryBean
  10. zabbix 3.0 的web界面出现乱码如何解决?