MyBatis框架的简介和使用

1.为什么使用MyBatis框架?

        A、每一个请求对应的使用Dao中的方法,每一个方法中都需要连接数据库,这样我们连接数据库的代码就需要写好多次。

        B、如果我们做的是查询的操作,从rs中取值是一个比较麻烦,而且影响开发效率的问题。

     解决方案:

         (1) 提取DBUtil工具类即可

                 优点:不用在每一次书写连接数据库的操作

                 缺点:传统的JDBC连接数据库的效率非常慢

          (2) 使用数据库连接池连接数据库

                 优点:连接数据库的速度比较快

                 缺点:没有办法实现SQL语句和java代码之间的解耦 

        (3)使用MyBatis框架优势如下

                    [1]解决了SQL语句和java代码之间的耦合

                    [2]连接数据库的效率也比较快

                    [3]取值问题就会变得非常的简单  

2.MyBatis框架简介

介绍MyBatis框架之前,先了解一下框架的概念是什么?简而言之就是直接别人封装好的代码,框架包括jar包、API和源码。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

     MyBatis是一个半自动的ORM框架(ORM: Object Relational Mapping,作用解决数据库发展和面向对象发展不一致的问题

[注]: O:面向对           R:关系型数据库              M:映射

        半自动:MyBatis框架是需要我们自己手写sql语句,MyBatis框架不依赖于服务器。

3.MyBatis框架的搭建

   (1)导包,包括MyBatis的核心包、依赖包和数据库驱动包 

   (2)在src下新建各种层 

   (3)书写mybatis.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">
<!--文档约束  作用就是规定了xml中标签书写的内容-->
<configuration>
       <environments default="mysql">
           <!--连接的是mysql数据库-->
           <environment id="mysql">
               <!--mybatis中的事务和jdbc的事务是一致的-->
               <transactionManager type="JDBC"></transactionManager>
               <!--POOLED;底层使用数据库连接池连接数据库-->
               <dataSource type="POOLED">
                   <property name="driver" value="com.mysql.jdbc.Driver"></property>
                   <property name="url" value="jdbc:mysql://localhost:3306/mybatis4"></property>
                   <property name="username" value="root"></property>
                   <property name="password" value="root"></property>
               </dataSource>
           </environment>

           <!--以下部分是连接的oracle数据库
                <environment id="orcl">
               <transactionManager type=""></transactionManager>
               <dataSource type=""></dataSource>
           </environment>-->
       </environments>

    <!--扫描mapper文件-->
    <mappers>
        <!--resource:里面写是xml所在文件的目录-->
        <mapper resource="com/bjsxt/mapper/FlowerMapper.xml"></mapper>
    </mappers>

</configuration>

   (4)书写对应的XXXMapper.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="a.b">
    <!--
       public  List<Flower>  selectAll();
       <mapper >中namespace=""值相当于接口名
       id:方法名称
       resultType:返回值类型
               如果返回的是一个对象书写对象的类型全路径即可
               如果返回的是一个集合需要书写集合的泛型的全路径即可
       parameterType:参数类型,如果没有参数省略该属性.
    -->
    <select id="selectAll"  resultType="com.bjsxt.pojo.Flower" >
       select  *  from   flower
    </select>
</mapper>

(5)解析执行xml文件

 public static void main(String[] args) throws  Exception {
        //[1]读取mybatis.xml文件
        InputStream inputStream = Resources.getResourceAsStream("MyBatis.xml");
        //[2]获得session工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        //[3]获得session对象
        SqlSession session = factory.openSession();
        //[4]调用指定的查询方法
        List<Flower> list = session.selectList("a.b.selectAll");
        System.out.println(list);
        //[5]关闭资源
        session.close();
    }

4.MyBatis框架详解

jar包目录

 

jar包目录依次介绍 

java文件解析包.spring依赖这个包 

动态代理包.mybatis不需编写实现类 

日志包.spring依赖这个包 

字节码解析助手,处理.class文件 

日志包 

日志包 

日志包 

mybatis核心包 

数据库驱动包 

日志 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值