前言
我发现,看别人的写的快速入手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表映射文件 路径