Mybatis入门

一、Mybatis框架的概述

     1.mybatis是一个持久层框架,用java编写的。

     2.它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程

     3.它使用了ORM思想实现了结果集的封装;

          ORM: Object Relational Mappging 对象关系映射;

           即就是:把数据库表实体类实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表。

二、mybatis的环境搭建

       1.创建maven工程并导入坐标

      

<!--打包方式-->
<packaging>jar</packaging>
   <dependencies>
<!--Mybatis的依赖-->
       <dependency>
           <groupId>org.mybatis</groupId>
           <artifactId>mybatis</artifactId>
           <version>3.4.5</version>
       </dependency>
<!--数据库连接相关的依赖-->
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.6</version>
       </dependency>
       <dependency>
           <groupId>log4j</groupId>
           <artifactId>log4j</artifactId>
           <version>1.2.12</version>
       </dependency>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.10</version>
       </dependency>
   </dependencies>

      2.创建实体类和dao的接口

      3.创建Mybatis的主配置文件:SqlMapConifg.xml     

<!--mybatis的主配置文件-->
<configuration>
    <!--配置环境-->
    <environments default="mysql">
        <!--配置Mysql的环境-->
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的4个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mbase"/>
                <property name="username" value="root"/>
                <property name="password" value="123"/>
            </dataSource>
        </environment>
    </environments>
<!--    指定映射配置文件的位置,映射配置文件指的是每一个dao独立的配置文件-->
    <mappers>
          <!--配置文件形式-->
        <mapper resource="com/li/dao/IUserDao.xml"></mapper>
          <!--注解形式,不需要写映射文件,但是要在IUserDao接口中的方法上加注解  @select("select * from user")-->
       <mapper class="com.li.dao.IUSerDao/>
</mappers> 

 

      4.创建映射配置文件:IUserDao.xml

<mapper namespace="com.li.dao.IUserDao">
<!--配置查询所有,id: 方法名称;resultType:返回值类型-->
    <select id="findAll" resultType="com.li.domain.User">
        select * from user
    </select>
</mapper>

 

  注意:

           1.mybatis的映射配置文件位置必须和dao接口的包结构相同

           2.映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名

           3.映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名

   只要遵循上面的几点,开发中无需写dao的实现类

      5.定义一个测试类       

 

 public static void main(String[] args) throws Exception {
        //1.读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2.创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();//构建者
        SqlSessionFactory factory = builder.build(in);
        //3.使用工厂生产SqlSession对象
        SqlSession session =factory.openSession();
        //4.使用SqlSession创建Dao接口的对象
        IUserDao userDao=session.getMapper(IUserDao.class);
        //5.使用代理对象执行方法
        List<User> users=userDao.findAll();
        for (User user:users)
        {
            System.out.println(user);
        }
        //6.释放资源
        session.close();
        in.close();
    }

 

 

 

 

  

         

posted @ 2020-03-13 17:28  撑起一片阳光  阅读(187)  评论(0编辑  收藏  举报