(第三天) 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表映射文件 路径

posted @ 2017-10-03 22:47  Pororo  阅读(374)  评论(0)    收藏  举报