初识Mybatis框架

本文介绍了Mybatis的基本概念,包括其作为ORM框架的地位,以及框架的三个核心元素:核心接口和类、核心配置文件和SQL映射文件。通过创建一个Mybatis项目,详细讲述了在WEB-INF下添加包、在src下添加映射文件和数据库链接文件,以及在src下建立代码包并编写接口和映射文件的方法。特别强调了在使用Mybatis时,SQL语句中的占位符需使用#{},且在传参时需要注意别名的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis官方网址:mybatis – MyBatis 3 | 简介

mybatis框架是一个给予ORM的优秀的持久化框架

  • mybatis框架三个基本要素:
  • 1.核心接口和类
  • 2.核心配置文件
  • 3.SQL映射文件

创建一个mybatis项目:

①WEB-INF下添加架包

②src文件下添加映射文件和数据库链接文件

mybatis-condig.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>
    <!--引用数据库配置文件-->
    <properties resource="database.properties"></properties>
    <!--环境池-->
    <environments default="mysql">
        <!--具体环境配置-->
        <environment id="mysql">
            <!--事务管理器-->
            <transactionManager type="JDBC"></transactionManager>
            <!--数据源 values填写database里的名字-->
            <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接口所在的包名 -->
        <mapper resource="dao/BananaMapper.xml"></mapper>
        <mapper resource="dao/WorkMapper.xml"></mapper>
    </mappers>
</configuration>

 ③src下建立代码包

接口写方法

1.如果传入双参数必须使用@param取别名,否则为null

 映射文件写实现方法

注:实体类要写包名点出来 增删改要写传入类型parameterType 查询要写返回类型resultType

mybatis中的sql语句不能使用?号只能使用#{}

 测试类运行


import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
    //第一步读取mybatis核心配置文件
        try {
            InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
            //第二步 创建sqlsessionFactory
            SqlSessionFactory ssf=new SqlSessionFactoryBuilder().build(is);
            //第三步 通过工厂生产一个具体的sqlsession  SqlSession数据库的会话
            SqlSession session=ssf.openSession();
            //第四步:调用 利用反射生成接口的对象(底层寻找跟接口同名的xml映射文件来生成)
            BananaMapper bm=session.getMapper(BananaMapper.class);
            List<Banana> list=bm.findNcolor("帝王蕉","黄色");
            for (Banana b:list) {
                System.out.println(b.getBprice());
            }


            Map<String,Object> map=new HashMap<>();
            map.put("1","黄色");
            map.put("2","绿色");
            List<Banana> list1=bm.findMap(map);
            for (Banana b1:list1 ){
                System.out.println(b1.getBname());
            }

            System.out.println("-------------------------------------------");
            int begin=(2-1)*3;
            List<Banana> list2=bm.findbyPage(begin,3);
            for (Banana b1:list2 ){
                System.out.println(b1.getBname());
            }
            Banana bb=new Banana();
            bb.setBid(13);
            bb.setBname("啦啦啦");
            bb.setBprice(56);
            bb.setBcolor("粉色");
            bb.setBtime("2022-2-19");
            int ll=bm.insert(bb);
            session.commit();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值