Mybatis源码环境配置

背景

一直想开始看框架源码,本来想从Spring看起,发现Spring框架源码太庞大,不太容易上手,所以选择先对Mybatis源码进行阅读,这篇文章先开个头,把代码跑起来

拉取代码

可以参考官方文档,将项目拉取到本地,地址:https://mybatis.org/mybatis-3/zh/index.html。我们把项目导入到idea里,执行mvn clean install命令,下载好依赖,我这里选择的是3.4x版本。

跑起来

我们可以参考官方文档来跑一个小model

//先配置mybatis-config.xml文件
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}"/>
				<property name="url" value="${jdbc.url}"/>
				<property name="username" value="${jdbc.username}"/>
				<property name="password" value="${jdbc.password}"/>
			</dataSource>
		</environment>
	</environments>
//配置config.properties文件,这里需要注意格式
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:mysql://47.114.38.76:3306/qms?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456
//创建映射文件添加到mybatis-config.xml文件
	<mappers>
		<mapper resource="org/apache/ibatis/test/UserMapper.xml"/>
	</mappers>
//创建一个main函数跑起来
    static{
        String resource = "org/apache/ibatis/test/mybatis-config.xml";
        String properties = "org/apache/ibatis/test/config.properties";
        InputStream inputStream = null;
        Properties propertie = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
            propertie = Resources.getResourceAsProperties(properties);
        } catch (IOException e) {
            e.printStackTrace();
        }
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,propertie);
    }

    public static void main(String[] args){
        SqlSession session = sqlSessionFactory.openSession();
        session.selectOne("selectCorp");
        UserMapper mapper = session.getMapper(UserMapper.class);
        UserDO userDO = mapper.get("11");
    }

总结

配置属性可以在三个地方配置:
mybatis-config.xml, config.properties,SqlSessionFactoryBuilder.build()
如果一个属性在不只一个地方进行了配置,那么,MyBatis 将按照下面的顺序来加载:
首先读取在 properties 元素体内指定的属性。
然后根据 properties 元素中的 resource 属性读取类路径下属性文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。
最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。
优先级:SqlSessionFactoryBuilder.build() > mybatis-config.xml > config.properties

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值