Mybatis(一)

首先之前尝试直接搭建maven+spring+springMVC+mybatis,太急于求成,看的视频也乱,就开始搭,各种出问题,框架中大部分代码是不可见的,这样更加需要透彻的理解。现在打算一步步慢慢来,每一步打扎实了。
mybatis重新开始!
①先熟悉jar包

</tbody>
jar包解释
asm-3.3.1.jar 字节操作框架
cglib-2.2.2.jar提供方法拦截
commons-logging-1.1.1.jar日志系统
ehcache-core-2.6.5.jar缓存框架
junit-4.9.jar测试
log4j-1.2.17.jar ,log4j-api-2.0-rc1.jar ,log4j-core-2.0-rc1.jar日志
mybatis-3.2.7.jar ,mybatis-ehcache-1.0.2.jarmybatis相关
mysql-connector-java-5.1.7-bin.jar数据库连接
slf4j-api-1.7.5.jar, slf4j-log4j12-1.7.5.jar日志接口
**②mybatis配置文件sqlMapConfig.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>

        <!--数据库环境-->
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mydb1"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <!--用于配置映射器-->
        <mappers>
            <mapper resource="sqlmap/User.xml"/>
        </mappers>
    </configuration>

③编写映射器User.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="test">
    <select id="findUserById" parameterType="int" resultType="com.iot.mybatis.po.User">
        select * from user where id=#{value}
    </select>
</mapper>

④编写测试

public class MybatisFirst {
    @Test
    public void findUserByIdTest() throws IOException {
        // mybatis配置文件
        String resource = "SqlMapConfig.xml";
        // 得到配置文件流
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //创建会话工厂,传入mybatis配置文件的信息
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        // 通过工厂得到SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();

        // 通过SqlSession操作数据库
        // 第一个参数:映射文件中statement的id,等于=namespace+"."+statement的id
        // 第二个参数:指定和映射文件中所匹配的parameterType类型的参数
        // sqlSession.selectOne结果 是与映射文件中所匹配的resultType类型的对象
        // selectOne查询出一条记录
        User user = sqlSession.selectOne("test.findUserById", 1);

        System.out.println(user);

        // 释放资源
        sqlSession.close();
    }
}

⑤尝试对过程进行解释

懒得去看源码,大概分析一下mybatis的处理过程,建立一个大概的概念。

映射器mapper将命名空间namespace和sql查询语句绑定在了一起,同时还可以向sql语句传递参数。在sqlMapConfig中同时配置了数据库连接,然后通过工厂SqlSessionFactory的代理建立数据库连接,把查询结果放在sqlSession域中。最后可以在sqlSession中可以得到查询结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值