mybatis框架的使用方法

1.配置maven仓库。
新建一个文件夹存放maven的文件夹以及maven的代码仓库repository,在系统环境变量中新建环境变量MAVEN_HOME 。
2.配置插件、jar包,等。
在IDEA中创建一个Maven项目,可以选择建立模板,或者建立一个新的空项目,在pom.xml中使用标签,写入关键jar包mybatis,junit(测试)并点击刷新。
3.建立基本的三层架构(dao,service,servlet),entity包,并用IDEA自带的database引入实体类,其中servlet可以不写,未涉及到web项目,
在Java目录下建立resources包,写入sqlMapperConfig.xml(后期在所有框架移交spring管理时,可以命名为mybatis-config.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>
//可以引入外部文件,此处在db.properties写入了mysql四要素。
    <properties resource="db\db.properties"/>
    <typeAliases>
//  此处更改包的别名
    </typeAliases>
    <environments default="ls">
        <environment id="ls">
            <transactionManager type="JDBC"></transactionManager>     //事务管理器标签
            <dataSource type="POOLED">
                <property name="driver" value="${Drr}"/>
                <property name="url" value="${Url}"/>
                <property name="username" value="${Acc}"/>
                <property name="password" value="${Pwd}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
//此处写入要交给mybatis管理的mapper文件
        <mapper resource="mapper\BookMapper.xml"/>
    </mappers>
</configuration>

4.在dao层写入ApI,在resources包中新建mapper文件夹,并在mapper文件夹中写入mapper的xml文件如下:

<?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="com.softxxx.lis0915.mapper.BookMapper"><mapper>

以上为mapper头文件,其中mapper中的namespace属性需要配置对应的接口地址与接口类名,
在标签内写入sql语句,sql需要指明id与parameterType与resultType
id与接口中的方法名称对应,
parameterType与入参的参数类型对应,如果不需要传参也可以省略,尽量不要省略,便于查找bug,
resultType与返回值对应,结果需要什么,就填写什么类型
5.在test包里新建test类。
首先在test类中首先加载mybatis核心配置文件
通过

resource =  Resources.getResourceAsStream("mybatis\\sqlMapConfig.xml");

然后通过构建sqlSessionFactoryBuilder创建工厂对象builder(工厂创建对象)
通过工厂对象创建session对话

    SqlSessionFactory factory = builder.build(resource);
        SqlSession sqlSession = factory.openSession(true);

其中openSession默认为false,如果需要自动开启事务,可以在内填写true
以上步骤可以进行封装成为一个sqlsession的工具类,如下:

package com.softxxx.lis0915.bookTest;

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 java.io.IOException;
import java.io.InputStream;

public class MySessionUntil {
    static SqlSession getSqlSession(){
    //加载mybatis核心配置(加载资源),获得一个流对象
    InputStream resource=null;
    {
        try {
            resource = Resources.getResourceAsStream("mybatis\\sqlMapConfig.xml");
        } catch (IOException e) {
            System.out.println("加载mybatis核心文件异常!");
            /*e.printStackTrace();*/
        }
    }
        //2.构建sqlSessionFactoryBuilder(工厂创建对象)
    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    //3.构建factory对象
    SqlSessionFactory factory = builder.build(resource);
    //4.构建session(会话对象)
        SqlSession sqlSession = factory.openSession();
        return sqlSession;
}}

6.这里可以直接使用工具类获取一个会话

   SqlSession sqlSession = MySessionUntil.getSqlSession();

通过会话的getMapper方法获取Mapper文件的映射文件

BookMapper mapper = sqlSession.getMapper(BookMapper.class);

然后就可以使用mapper中的方法进行测试了。

小结:
mybatis是一个半自动的ORM框架,主要是对JDBC中的Dao层(持久层)进行了封装,降低了程序的耦合性,
更加利于修改与开发人员的优化,sql语句也完全在xml文件中体现,更加便于修改与查看,
在日常的工作中可以使用mybatis的插件mybatis-generator-逆向工程一键搭建大部分通用的增删改查功能,大大增加了开发人员的工作效率

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_lix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值