MyBatis最简单搭建步骤(最基础)

前言

昨天学习了如何搭建SpringMVC以及基本用法,今天就轮到Mybatis的搭建以及基本使用了。一步一步感觉到前进的感觉很不错!

Mybatis大致流程

图还是自己画的,有还是比没有强。
这里写图片描述


Mybatis基础搭建步骤

(最重要的内容在总结)

1:引入jar包
  • Mybatis的jar包
  • mysql的jar包

2:创建mybaits-config.xml配置文件进行配置

-配置信息可以直接查看mybatis官网,
(属性值:数据库驱动、名称、用户名、密码等可以统一放大xx.properties文件中然后被作数属性引入,再间接调用值)
(mappers:mapper引用类用class,应用资源文件用resource)

<?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>

    <properties resource="com/bigname/db.properties"></properties>

    <environments default="development">
        <environment id="test"><!-- 数据库名称 -->
            <transactionManager type="JDBC" /><!-- 事务模式 -->
            <dataSource type="POOLED"> <!-- 表示用连接池 -->
                <property name="driver" value="${db.driver}" />
                <property name="url" value="${db.url}" />
                <property name="username" value="${db.username}" />
                <property name="password" value="${db.password}" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!-- 资源引入方式 -->
        <!-- <mapper resource="memberMapper.xml" /> -->
        <!-- 类引入方式 -->
        <mapper class="com.bigname.daoMapper.IMemberMapper"/>
    </mappers>

</configuration>

3:创建数据库与实体类:
  • 创建数据库test,并创建表Member
  • 实体类Member
package com.bigname.dao;

public class Member {
    // id
    private int id; 

    // 用户名
    private String name; 

    // 用户密码
    private String password;



    public Member(int id, String name, String password) {
        super();
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "Member [id=" + id + ", name=" + name + ", password=" + password
                + "]";
    }

}

4:新建映射配置文件或者映射接口

以映射接口为例,第一个图说明了,这两种映射要注意的地方。

package com.bigname.daoMapper;

import org.apache.ibatis.annotations.Select;

import com.bigname.dao.Member;

public interface IMemberMapper {
    @Select("select * from Member where id = #{id}")
    Member getMember(int id);
}

5:新建Mybatis工具类

封装了一个连接数据库,返回数据库操作对象的方法

public class MybatisUtil {
    // 根据配置文件信息创建与数据库的连接,并返回数据库操作对象
    public static SqlSession openSqlSession(){
        String sqlConfigXML = "mybatis-config.xml";
        InputStream in = Resources.getResourceAsStream(sqlConfigXML);
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(in,"test");
        return build.openSession();
    }
}

6:测试连接

我在数据库新增了3条数据

public class Test {
    public static void main(String args[]){
        System.out.println("ddddd");
        selectMember();
    }

    private static void selectMember() {
        try {
            // 连接数据库,并得到数据库操作对象
            SqlSession openSession = MybatisUtil.openSession();
            // 得到mapper对象(该对象在mybatis-config.xml中要配置正确)
            IMemberMapper mapper = openSession.getMapper(IMemberMapper.class);
            // 然后调用方法执行封装的sql语句
            Member member = mapper.getMember(3);
            System.out.println(member);
            // 最后关闭连接
            openSession.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

控制台打印:
Member [id=3, name=周润发, password=789]
成功连接到数据库,并且查询到数据


总结:

要查询一条数据的流程:
1.

  • 根据配置文件信息连接数据库,
  • 得到数据库操作对象(记为库对象),
  • 所以此时需要在配置文件中正确配置一个数据库信息。

2.

  • 利用库对象用getMapper()获取映射接口对象,
  • 所以此时要在配置文件中配置该映射接口类,否则就找不到了。

3.

  • 调用映射接口对象的方法,会相应执行数据库语句,
  • 所以此时接口中需要有声明该方法响应的数据库语句。

结束语

总的来说,mybatis的搭建步骤比SpringMVC要稍微多了一点点。最好就是根据总结去理解这个访问的流程,逆过来一步一步看就会知道到底要进行哪些配置了。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值