zoukankan      html  css  js  c++  java
  • MyBatis框架的详解

    一、MyBatis的介绍

    1. 在使用的时候,需要配置文件的方式告知框架需要的信息,多数会使用XML文件作为框架的配置文件。
    2. 框架都是由第三方提供的,提供的都是jar包。因此,使用框架前,必须将框架涉及的jar包导入项目中。
    3. MyBatis框架是:ORM框架,用于操作数据库,底层是对jdbc进行了封装。
    4. MyBatis 的前身是 iBatis, 是 Apache 下的一个开源项目,现在被迁移到了 GitHub 上.
    5. 写配置文件及入门MyBatis的中文网址:http://www.mybatis.org/mybatis-3/zh/getting-started.html
    6. 使用到的jar包,百度网盘链接:
    7. 其他框架:
      • Spring : 是一个容器;
      • SpringMVC:分层框架
      • Struts2:功能类似于SpringMVC
      • Hibernate : 功能类似于MyBatis


    二、配置MyBatis的基本步骤

    第一步:核心配置文件

    1. 核心配置文件,是一个xml文件,命名无要求,位置无要求。不过一般叫做mybatis.xml,放在src目录下。
    2. 使用官方提供的dtd约束,写核心配置文件
    3. 以下是官方提供的dtd约束,需要联网使用

      <!DOCTYPE configuration
         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-config.dtd">
      <configuration>

    4. 核心配置文件的书写在这里就不再多说了,具体的可以去参考MyBatis官网
    5. 关联映射文件(第二步中有介绍到):

    <!-- 扫描mapper文件 –>

    <mappers> 

       <mapper resource="com/bjsxt/mapper/UserMapper.xml" />

    </mappers>


    第二步:Mapper映射文件

    1. 在MyBatis中,推荐使用 mapper 作为包名, 我们只需要写一个映射配置文件即可。UserMapper.xml, 用于定义要执行的 SQL 语句, 同时设定返回结果的类型等等
    2. 需要注意的属性:
      • namespace: 命名空间, 可以随意定义, 一般情况下要写全限定路径  MyBatis管理SQL语句是通过namespace+id来定位的
      • resultType: 用于设定返回结果的类型(全限定路径)     如果返回结果是集合, 要写集合泛型的类型


    第三步:编写测试代码

    1、加载MyBatis核心配置文件     【InputStream is = Resources.getResourceAsStream("mybatis.xml"); 】

    2、构建SqlSessionFactory工厂对象   【SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); 】

    3、通过工厂打开SqlSession      【SqlSession session = factory.openSession(); 】

    4、通过session执行查询操作     【 List<User> list = session.selectList("com.bjsxt.mapper.UserMapper.selAll");System.out.println(list); 】

    5、关闭资源                           【session.close(); 】

    三、使用MyBatis

    1. MyBatis的常用三个查询方法:
    • selectList:用于查询多条数据的情况, 返回值是一个 list 集合. 如果没有查到任 何数据, 返回没有元素的集合(空集合, 不是 null)

        例子:【List<User> list = session.selectList("com.bjsxt.mapper.UserMapper.selAll");System.out.println(list);  for (User user : list) {  

                  System.out.println(user);  }】

    • selectOne:用于查询单条数据的情况, 返回值是一个对象. 如果没有查到任何数据, 返回 null

       例子:【User user = session.selectOne("com.bjsxt.mapper.UserMapper.selOne");  System.out.println(user)】 

    • selectMap:用于查询多条数据的情况, 多条数据要形成一个 Map 集合. 需要指 定哪个属性作为 key. 如果查不到, 返回一个空 map 集合(不是 null)

         例子:【 Map<Integer, User> map = session.selectMap("com.bjsxt.mapper.UserMapper.selAll", "id");  System.out.println(map); 

                   Set<Integer> set = map.keySet();  for (Integer k : set) {   System.out.println(map.get(k));  }】

       2.配置信息实现软编程(获取 properties 文件中数据时, 要通过${}的方式获取)

    <!-- properties加载外部文件 –>

    <properties resource="db.properties" />

       3.<typeAliases>标签,起别名

    <!-- typeAliases给类型起别名 –>

    <typeAliases> 

    <!-- 给User类起别名为u –> 

    <typeAlias type="com.bjsxt.pojo.User" alias="u" />

    </typeAliases>


     <package>给整个包下的所有类定义别名为类名

    <typeAliases> 

    <!-- 给包下的所有类定义别名为类名 –>

    <package name="com.bjsxt.pojo" />

    </typeAliases>

    image

  • 相关阅读:
    SCILAB简介[z]
    UG OPEN API编程基础 2约定及编程初步
    Office 2003与Office 2010不能共存的解决方案
    UG OPEN API 编程基础 3用户界面接口
    NewtonRaphson method
    UG OPEN API编程基础 13MenuScript应用
    UG OPEN API编程基础 14API、UIStyler及MenuScript联合开发
    UG OPEN API编程基础 4部件文件的相关操作
    UG OPEN API编程基础 1概述
    16 UG Open的MFC应用
  • 原文地址:https://www.cnblogs.com/cgntiger/p/11143474.html
Copyright © 2011-2022 走看看