mybatis对jdbc进行升级,主要可以完成 o  r  m 的映射。

所谓o r m映射,其实很简单,就是比如

在数据库中有一个如下的表

那么我们在java程序中就有对应的实体类,也叫做pojo 或者   entiry 只要有这个类,我们就可以将java中的一个对象和数据库中的一条记录对应起来。

接下来,我们来编写与一个简单的mybatis程序

首先我们先新建一个简单的工程

找到mybatis官网

添加pom依赖

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>


请注意,除了添加mybatis的依赖,还需要添加mysql驱动,这样才能链接数据库

然后接下来就很重要了,我们要编写mybatsi的配置文件

首先是一个XML文件,用来填写mybatis的配置,一般情况下,我们把它叫做: mybatis-config.xml,路径放在resources中,当然我们可以更改路径,不过为了方便起见,我就不在记录多余的方法

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例

xml基本配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "https://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>

完善配置  填写自己的数据库  和  用户名  密码

请注意

<mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>

这里需要更改的

然后我们需要填写mapper对象-----mapper对象,是我们需要实际编写的sql语句

一张表对应一个mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="qqqq">
 <insert id="insertRole">
     insert  into try(id,name,age) values(1,'绘梨衣',180)
 </insert>
</mapper>

请注意  这里的 id是很重要的,我们需要在获取的时候使用

然后我们需要将  XXXMapper绑定在mybatis-config.xml中,这样当程序读取了配置文件,就可以找到XXXMapper

<mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>

这里只要填XXXMapper的名就可以,只要都是放在resources中就可以读取到

完成配置后,我们就可以在主程序中调用mybatis中提供的代理

我们要使用Sqlsession来实现程序与数据库的通信,但是Sqlsession是从SqlSessionFactory中获取的,想要使用SqlsessionFactpory就需要使用SqlSessionFactoryBuilder来创建

请看主程序的代码

//        创建builder对象
       SqlSessionFactoryBuilder sqlsesionfb    = new        SqlSessionFactoryBuilder();
//       但是创建  factory需要一个输入流,将xml的配置文件输入,于是我们可以通过Resources.getResourceAsStream 将xml的文件写入
        InputStream in  = Resources.getResourceAsStream("mybatis-config.xml");
       SqlSessionFactory sqlSessionFactory = sqlsesionfb.build(in);
//       打开一次session对话
              SqlSession sqlSession = sqlSessionFactory.openSession();
// 调用插入方法,输入mapper中的id
//        然后会返回一个int的整数,然后这个整数是被影响的数据库中的条数

         int count =        sqlSession.insert("insertRole");
//              将事务提交
              sqlSession.commit();
        System.out.println(count);

然后我们就完成了一个较为简单的mybatis的可以调用   sql语句的方法