zoukankan      html  css  js  c++  java
  • 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();
        }

      

             

  • 相关阅读:
    第十八章 并发登录人数控制——《跟我学Shiro》(http://blog.csdn.net/lhacker/article/details/19334305)
    spring4 hibernate4 transaction
    sqllite
    http://www.cnblogs.com/enshrineZither/p/3793459.html
    MyBatis 显示日志
    Centos7配置更新国内yum源
    解决Centos运行yum 报错:坏的解释器
    用python生成基于lombok 和 hibernate 生成javabean
    数据库事务中的隔离级别和锁+spring Transactional注解
    springmvc 通过异常增强返回给客户端统一格式
  • 原文地址:https://www.cnblogs.com/cqyp/p/12487632.html
Copyright © 2011-2022 走看看