mybatis概述与第一个案例搭建

mybatis

原来是apache的开源项目,ibatis,2010转移到谷歌,3.0后改名mybatis

mybatis是一款优秀的数据持久层(dao)框架

servlet(web) 接收请求,调用其他java代码处理

service 业务逻辑层

dao 数据访问/持久

mybatis是对jdbc进行轻量级的封装,提供一些自己定义的类和接口来实现功能,提供专门的xml文件进行配置,以及可以自动对查询结果进行封装,是一个ORM(Java对象与数据库表映射)实现的数据持久层框架。

mybatis搭建

1.创建maven项目

添加mybatis,mysql 依赖的jar

2.创建数据库表,创建类

创建一张管理员表
在这里插入图片描述

public class Admin {
    private int id;
    private String account;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

3.创建mybatis全局配置文件

在 resources目录下创建 mybatis.xml文件

配置数据库连接信息,配置sql映射文件

<?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">
             <!-- 配置数据源,type="POOLED  是否使用数据库连接池                -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver" />
                <property name="url" value="" />
                <property name="username" value="root" />
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

<!--    配置sql 映射文件-->
    <mappers>
        <mapper resource="mappers/AdminMapper.xml"></mapper>
    </mappers>


</configuration>

4.创建sql映射文件

在resources下建立 mappers目录 再创建 AdminMapper

定义一个与接口中 方法名相同的查询

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

<!--
    sql映射文件,把所有的sql语句分离到xml文件中
-->
<mapper namespace="com.ffyc.mabatispro.dao.AdminDao">

    <select id="findAdminById" resultType="com.ffyc.mabatispro.model.Admin" parameterType="int">
        select * from admin where id=#{id}
    </select>

</mapper>

5.创建访问接口

定义一个方法

import com.ffyc.mabatispro.model.Admin;

public interface AdminDao {
    public Admin findAdminById(int id);
}

6.测试mybatis

import java.io.IOException;
import java.io.Reader;

public class TestAdmin {
    public static void main(String[] args) throws IOException {
        /*
             读取mybatis 核心的配置文件
         */
        Reader reader=Resources.getResourceAsReader("mybatis.xml");
        // 创建 SqlSessionFacorty
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

        // 创建 SqlSession  session会话,一次与数据库交互,类似于之前的Connection
        SqlSession sqlSession=sessionFactory.openSession();

        //创建访问接口的代理对象
        AdminDao adminDao=sqlSession.getMapper(AdminDao.class);

        //使用代理对象访问对应方法,本质是调用的是接口对应的sql映射文件中那sql

        Admin admin=adminDao.findAdminById(1);
        System.out.println(admin);

        //关闭于数据库连接会话对象
        sqlSession.close();
    }
}

 Admin{id=1, account='admin', password='111'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值