• (第三天) Mybatis框架首次搭建总结


    前言

    我发现,看别人的写的快速入手mybatis博客。我发现。对于我而言,根本看不懂或是半知半解。然后,经过自己花费了一天,终于在晚上的现在成功了。我来总结下如何从一无所知到快速搭建的过程吧。


    首先建立一个数据库先

    用Navicat(图形化Mysql) 创建一个数据库,并建一个表,然后,在里面填入一些数据吧。在此,我插入的是我平时常买的商品的相关信息。

    我新建数据库名字为:hkgoods 里面新建的表的名字是:goods
    然后,我往表里填入些数据。

    **然后,到此,我的数据库里便有了内容了,接下来,就是到Mybatis框架 出手了。

    Mybatis搭建

    进入Eclipse,新建一个java project 。我命名为:Mybatis01

    然后再新建一个文件夹(Folder),命名为config ,为了把当前文件加入到类路径下,不然你放到这个config里面的东西,系统不能识别。所以要添加类路径
    接着再新建一个文件夹(Folder) ,命名为lib , 这个lib文件夹准备放jar 包的。
    如何添加类路径 ?
    右键Mybatis01项目图标,--属性--建立路径 -- source --Add Folder ,然后勾上config文件夹 (不用勾lib文件夹) 就可以了

    然后,我把之前下载好的jar包 ,mybatis-3.4.5.jar 和mysql-connector-java-5.0.8.jar 放进lib文件夹里.
    这样直接将jar包放进来也不行,也需要对jar包进行 build Path(建立路径) 。 很简单,选择它们 然后右键build Path ---Add to build Path
    这时你会发现,项目中 多了行Referenced libraries。 且它下面的图标变成了奶瓶.

    查阅Mybatis的官方网站文档

    一开始我也觉得别人写的博客介绍容易理解,但是直到看到官网。发现官网才是最好的,里面它给出的示例都是很重要的,你直接去复制过来,粘贴它的示例,然后自行修改。
    Mybatis官网文档链接:http://www.mybatis.org/mybatis-3/zh/getting-started.html


    第一步:弄好mybatis配置文件


    刚进来看是,我当时的反应也是一脸懵逼,不知道写的是什么,什么意思,怎么用的;
    先把官网这块东西复制过来先,,官网把它叫做XML配置文件

    XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)。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="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
          </dataSource>
        </environment>
      </environments>
      <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
      </mappers>
    </configuration>
    

    把这段复制粘贴进项目中的config文件夹中,记住是xml后缀的。具体操作是,右键config,--new- -File ,然后在命名那写:mybatis-confi.xml ,这样得来的文件 就是xml后缀的了

    然后相应改为自己的东西:

    第二步:新建一个类

    命名为:GoodsInfo

    然后,将我的mysql里面存放的表类型 都放进去 作为成员变量

    快速设置set和get方法技巧; 随便右键类括号内空白区域 --source --Gerneral Getters 和Setters

    第三步:创建Mapper

    此之前,先看看官网的解释:

    把它这段官网给的示例代码复制先:

    <?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="org.mybatis.example.BlogMapper">
      <select id="selectBlog" resultType="Blog">
        select * from Blog where id = #{id}
      </select>
    </mapper>
    

    记住,在官网复制粘贴过来的东西,我们都要把它修改成变成自己的东西


    namesapce 一般命名为 :当前实体类的全路径。 一般都这样命名

    { } 相当于一个占位符,代表了你传递的参数

    **每个实体类对应一个数据库表,每个XML文件又对应一个实体类

    第四步:在主入口类中 运行使用

    新建一个Mybatis_begin的类

    在主类(Mybatis_begin)里写进代码,引入之前写的的XML配置文件

    此之前,先看看官网的解释:

    复制粘贴下面代码:

    String resource = "org/mybatis/example/mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    

    记住,在官网复制粘贴过来的东西,我们都要把它修改成变成自己的东西

    package test;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import com.chen.GoodsInfo;
    
    public class Mybatis_begin {
    
    	public static void main(String[] args) {
    		
    		try {
    			//获得当前Mybatis总的配置文件的路径
    			String resource = "mybatis-conf.xml";
    			//获得当前配置文件的输入流
    			InputStream inputStream = Resources.getResourceAsStream(resource);
    			//通过流对象,来创建SqlSessionFactory对象。数据库会话工厂
    			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    			//通过数据库会话工厂 开启跟数据库的一次会话。
    			//既然有了 SqlSessionFactory ,顾名思义,我们就可以从中获得 SqlSession 的实例了。
    			//SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法
    			SqlSession sqlSession = sqlSessionFactory.openSession();
    			
    			//sqlSession 通过这个对象 来执行SQL语句 用完之后关闭对象
    			//所以的数据库操作 都被封装到 sqlSession对象中了,增删改查
    			
    			//下面查到的 是一个对象,一个对象对应一个数据
    			GoodsInfo xm=sqlSession.selectOne("com.chen.Mapper123.selOne","1");
    			System.out.println(xm.getName());
    			
    		} catch (IOException e) {
    			
    			e.printStackTrace();
    		}
    	}
    
    }
    
    

    最后一步:理解 配置文件XML Mapper映射文件XML 和 GoodsInfo 类 这三者关系


    第一个XML (mybatis配置文件) 里面 含着 第二个XML文件(既 表映射文件) 的 信息 ; 而 第二个XML文件(既 表映射文件) 又含着 GoodsInfo 类 的信息 ,形成了每两者产生的关联关系

    ···mybatis-conf.xml···

    查出了数据库的ID为1 的 数据库结果, ID为1 的商品名字 叫做 大米米膜
    和我数据表的一样

    到此,Mybatis搭建成功

    还记得那个表映射文件吗? 我再发一次图片:

    重要笔记


    注意区分什么地方用 . ,什么地方用/

    总结

    主入口类 -> mybatis配置文件 路径
    主入口类 -> mapper命名空间+操作id
    mybatis配置文件 -> mapper表映射文件 路径

  • 相关阅读:
    面试基础02
    CustomerView
    Java封装性
    Java中参数传递机制:值传递
    Java重载 (Overlaod)与几个面试题
    数据结构、算法概述和简单的JVM内存解析
    异常捕捉

    面向接口的编程方式
    看程序的方法
  • 原文地址:https://www.cnblogs.com/czy16/p/7624744.html
Copyright © 2020-2023  润新知