栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis的基本使用(1) - 入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis的基本使用(1) - 入门

1、myBatis是什么

mybatis就是一个DAO层的解决方案,再简单点说mybatis就是一个用来进行数据库访问的一个框架

2、为什么要使用mybatis
  • JDBC的效率应该是最高的,但是代码的复杂度也是最高的

  • Hibernate是最低的,但是Hibernate中的SQL语句是不需要程序员写的,是可以自动生成的,但是这个过程在原本的SQL执行的基础上多了一个步骤,就是将你面向对象的写法要翻译成SQL语句,所以他的效率是最低的,而Hibernate的代码的复杂度是最低的

  • dbutils/jdbcTemplate:这两个框架都不算 最多只是算一个帮助类 而且很多东西的封装没有那么全面

  • mybatis效率是位于Jdbc和Hibernate之间的,而且代码的复杂度也是位于JDBC和Hibernate之间,而且Hibernate在使用的时候并没有像想像的这么灵活,这也就是为什么大多数企业都愿意使用Mybatis来作为 DAO层的解决方案的原因

我们经常所说的 ibatis和mybatis是一个什么关系呢?

ibatis是以前的名字,mybatis是现在的名字

3、mybatis的第一个helloworld程序 3.1、导包
 
            junit
            junit
            4.11
            test
        

        
        
        
            org.mybatis
            mybatis
            3.4.6
        


        
        
            mysql
            mysql-connector-java
            5.1.6
        

        
            log4j
            log4j
            1.2.17
        
        
            org.slf4j
            slf4j-api
            1.5.10
        

        
        
            org.slf4j
            slf4j-log4j12
            1.6.1
        
        
            org.junit.jupiter
            junit-jupiter-api
            RELEASE
            compile
        
        
            org.junit.jupiter
            junit-jupiter-api
            RELEASE
            compile
        
3.2、编写mybatis.xml文件


    
    
        
        
            
            
            
            
                
                
                
                
            
        
        
            
            
            
            
                
                
                
                
            
        
        
            
            
            
            
                
                
                
                
            
        
    
    
    
        
    

3.3、编写UserMapper.xml文件




    
    
        insert into t_user(userName,password) values("cdlkx","123");
    

3.4、编写测试文件
package com.qf.ibatis.pojo;

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.Reader;


public class Test001 {

    public static void main(String[] args) throws IOException {


        //把mybatis的配置文件给加载进来
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        //获取这个session的工厂
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        //打开一个会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int insert = sqlSession.insert("UserMapper.add");
        //进行事务的提交
        sqlSession.commit();
        sqlSession.close();

    }
}

3.5、编写pojo
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String userName;
    private String password;
}
4、mybatis的基本的增删改查
public class Test001 {


    
    @Test
    public void testAdd() throws IOException {
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int insert = sqlSession.insert("UserMapper.add");
        sqlSession.commit();
        sqlSession.close();
    }

    
    @Test
    public void testDelete() throws IOException {
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int insert = sqlSession.insert("UserMapper.delete");
        sqlSession.commit();
        sqlSession.close();
    }
    
    @Test
    public void testUpdate() throws IOException {
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int insert = sqlSession.insert("UserMapper.update");
        sqlSession.commit();
        sqlSession.close();
    }
    
    @Test
    public void testList() throws IOException {
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Object o = sqlSession.selectOne("UserMapper.getById");
        System.out.println("查询到的数据是:"+o);

        sqlSession.commit();
        sqlSession.close();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号