Atitit mybatis spring整合。读取spring、yml、文件的mysql url 步骤,读取yml,文件,使用ongl定位到url pwd usr 读取mybatis模板配置,
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模板配置,相关推荐
- 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出
最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...
- mysql 没有my.cnf文件_Linux mysql没有my.cnf,替代文件为mysql.conf.d
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) mysql数据root密码异常之 ...
- python文件操作的一般步骤_4.1Python文件基本操作
Python文件基本操作 文件的读写方法有六种:W,R,A,W+,A+,R+ 读模式: # -*-coding:utf-8 -*- __author__ = 'xiaojiaxin' __file_n ...
- linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令
广告 2017年11月13日 MySQL中你可以使用SELECT ... INTO OUTFILE语句来简单的导出数据到文本文件上. 使用SELECT ... INTO OUTFILE语句导出数据 以 ...
- mysql workbench导入mdb_如何将MDB(Access)文件转换为MySQL(或纯SQL文件)?
你想转换mdb到mysql(直接传输到mysql或mysql转储)? 尝试一个名为访问MySQL的软件. 访问MySQL是一个小程序,将Microsoft Access数据库转换为MySQL. 向导界 ...
- xml文件写入mysql数据库_将XML文件插入到数据库
Xml2OleDb简介 XML是互联网共享数据的最好的方法,XML格式的数据可以很轻松的集成到不同的Web应用中去.但如果你想将XML文件插入到数据库,怎么办?Xml2OleDb将向您说明往OleDb ...
- Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...
- redis入门——Spring整合篇
redis入门--Spring整合篇 @(Redis)[服务器, 连接池, 集群, jedis, spring] redis入门Spring整合篇 Spring整合Redis redis整合分析 编写 ...
- spring整合各种RPC框架(netty、dubbo、dubbox、gRPC、Motan)-续(Motan)
继上文 :spring整合各种RPC框架(netty.dubbo.dubbox.gRPC.Motan)-续(gRPC) Motan相关介绍? Motan是新浪微博开源的一套基于java开发的RPC框架 ...
- Struts2+Hibernate+Spring 整合示例
转自:https://blog.csdn.net/tkd03072010/article/details/7468769 Struts2+Hibernate+Spring 整合示例 Spring整合S ...
最新文章
- mysql主从字符集不一致_MySQL多字节字符集造成主从数据不一致问题
- USTC English Club Note20211215
- Spring Security——OAuth 2.0登录——Google,GitHub,Facebook和Okta
- LINQ:进阶 - LINQ 标准查询操作概述
- 第十一:Pytest进阶之conftest.py
- HALCON标定板简介
- Triple Generative Adversarial Nets
- java plugin firefox_Firefox 中使用 Java 插件
- linux增强工具安装过程
- Java的中文转换拼音、五笔简码
- 计算机电缆对绞节距,耐高温双绞计算机电缆DJFFP2√厂家
- 广义速度V与管理理论——流水线、TPS…
- Mac 下erlang及rabbitmq安装
- Python 修改字体颜色
- Webstorm干货(开发效率快到飞起!!!)
- 问题 A: 相约HNUST
- Eclipse配置tomcat服务器及tomcat简介
- vscode查看外部依赖包的源码
- CentOS Linux release 7.7-安装搜狗输入法、Pycharm无法输入中文解决
- “报表工程师”的自我修养
热门文章
- Java铬钼钢车架几何_车架的几何尺寸
- 红绿3d眼镜与红蓝3d眼镜区别_佩极定制眼镜青少年3D打印定制系列全新发布
- linux编译安装mysql的意思,linux编译模式安装mysql 步骤说明
- 软件从“出生”到“消亡”的过程称为_软件测试面试最常问到的101个面试问题,你中枪了吗?(一)...
- delphi mysql类_Delphi MySQL数据库操作类
- 【死磕 Spring】—– IOC 之 bean 的初始化
- hive字段名、注释中文显示问号
- 设计模式(建造者模式)
- SqlSessionFactoryBean
- zabbix 3.0 的web界面出现乱码如何解决?