Mybatis入门

认识什么是Mybatis

 mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。

简单的来说就是:

Mybatis是一种持久化框架,用于Java应用程序和SQL关系数据库之间的交互。它通过XML文件或注解映射Java对象和SQL语句,将Java对象映射到数据库表格中进行操作。

 mybatis是一个orm框架 odject ,reference mapping

jdbc - ->basedao(工具类) - ->Mybatis(框架) - ->js—>jquery - ->easyui(框架)

Mybatis的特点

  1. 简化了数据库访问的过程,减少了传统JDBC开发的冗余代码。

  2. 对SQL语句的灵活支持,可以通过XML文件或注解编写SQL语句,并支持动态SQL。

  3. 支持多种数据库的访问,包括Oracle、MySQL、SQL Server等。

  4. 与Spring等框架集成良好,可以与Spring进行无缝整合。

  5. 提供了强大的缓存机制,可以提高查询性能。

搭建mybatis框架环境

配置mybatis

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://47.100.191.44:3308/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=test01
jdbc.password=test01

配置Mapper文件路径




    
    

    
        
    

    
    
        
    


    
    
        
            
            

            
            
            
            
            
                
                
                
                
            
        
    

    
        
    


MyBatis搭建与测试

biz:

package com.zhanghao.biz;

import com.zhanghao.model.Book;

public interface BookBiz {
    int deleteByPrimaryKey(Integer bid);

    int insert(Book record);

    int insertSelective(Book record);

    Book selectByPrimaryKey(Integer bid);

    int updateByPrimaryKeySelective(Book record);

    int updateByPrimaryKey(Book record);
}
impl:
package com.zhanghao.biz.impl;

import com.zhanghao.biz.BookBiz;
import com.zhanghao.mapper.BookMapper;
import com.zhanghao.model.Book;

public class BookBizimpl implements BookBiz {
    private BookMapper bookMapper;

    public BookMapper getBookMapper() {
        return bookMapper;
    }

    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }

    @Override
    public int deleteByPrimaryKey(Integer bid) {
        return bookMapper.deleteByPrimaryKey(bid);
    }

    @Override
    public int insert(Book record) {
        return bookMapper.insert(record);
    }

    @Override
    public int insertSelective(Book record) {
        return bookMapper.insertSelective(record);
    }

    @Override
    public Book selectByPrimaryKey(Integer bid) {
        return bookMapper.selectByPrimaryKey(bid);
    }

    @Override
    public int updateByPrimaryKeySelective(Book record) {
        return bookMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public int updateByPrimaryKey(Book record) {
        return bookMapper.updateByPrimaryKey(record);
    }
}

 ultis


package com.zhanghao.utils;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class SessionUtil {
    private static SqlSessionFactory sessionFactory;
    private static ThreadLocal threadLocal = new ThreadLocal();
    static {
        sessionFactory = new SqlSessionFactoryBuilder().build(SessionUtil.class.getResourceAsStream("/mybatis.cfg.xml"));
    }

    public static SqlSession openSession() {
        SqlSession session = threadLocal.get();
        if (null == session) {
            session = sessionFactory.openSession();
            threadLocal.set(session);
        }
        return session;
    }

    public static void main(String[] args) {
        SqlSession session = openSession();
        System.out.println(session.getConnection());
        session.close();
//        System.out.println(session.getConnection());
    }
}

Mybatis增删改查案

Demo1

package com.zhanghao.demo;

import com.zhanghao.biz.BookBiz;
import com.zhanghao.biz.impl.BookBizimpl;
import com.zhanghao.mapper.BookMapper;
import com.zhanghao.model.Book;
import com.zhanghao.utils.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.text.Bidi;

public class demo1 {
    private SqlSession sqlSession;
    private BookBiz bookBiz;

    @Before
    public  void a(){
        System.out.println("执行测试之前会执行的初始化代码");
        sqlSession= SessionUtil.openSession();
        BookBizimpl bookBiz=new BookBizimpl();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        bookBiz.setBookMapper(mapper);
        this.bookBiz=bookBiz;
    };
@After
public void b(){
    System.out.println("执行测试之后会执行");
    sqlSession.commit(true);
}

    @Test
    public void test1(){
        System.out.println("测试方法");
        Book book = bookBiz.selectByPrimaryKey(35);
        System.out.println(book);
    };
@Test
    public void test2(){
    int i = bookBiz.deleteByPrimaryKey(35);
    System.out.println(i);
};

}

总结:

总而言之,Mybatis是Java开发中使用广泛的持久化框架之一。它的灵活性、可扩展性和强大的功能,使得它成为了许多企业级应用程序的首选框架之一。

你可能感兴趣的:(mybatis,java,开发语言)