Mybatis笔记01 简介,搭建MyBatis框架,核心配置文件详解

Mybatis笔记01 简介,搭建MyBatis框架,核心配置文件详解,第1张

简介 MyBatis历史

MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由Apache Software Fundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。

iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQLMaps和Data Access Objects(DAO)。

MyBatis特性

MyBatis是支持定制化SQL,存储过程以及高级映射的优秀的持久层框架

MyBatis避免了几乎所有JDBC代码和手动设置参数以及获取结果集

MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects, 普通的java对象)映射成数据库中的记录

MyBatis是一个半自动的ORM(Object Relation Mapping:对象关系映射)框架 

MyBatis下载

MyBatis下载地址:https://github.com/mybatis/mybatis-3

和其他持久层技术对比

JDBC

        SQL夹杂在Java代码中耦合度高,导致硬编码内伤

        维护不易且实际开发需求中SQL有变化,频繁修改的情况多见

        代码冗长,开发效率低

Hibernate和JPA

        *** 作简便,开发效率高

        程序中的长难复杂SQL需要绕过框架

        内部自动生产的SQL,不容易做特殊优化

        基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难

        反射 *** 作太多,导致数据库性能下降

MyBatis

        轻量级,性能出色

        SQL和Java编码分开,功能边界清晰,Java代码专注业务,SQL语句专注数据

        开发效率稍逊色于Hibernate,但是完全能够接受

搭建MyBatis框架 创建Maven工程,添加依赖

    
        
        
            org.mybatis
            mybatis
            3.5.7
        

        
        
            junit
            junit
            4.12
            test
        

        
        
            mysql
            mysql-connector-java
            8.0.27
        
    
创建MyBatis的核心配置文件

习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求,将来整合Spring之后,这个配置文件可以省略,所以可以直接复制,粘贴。

核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息

核心配置文件存放的位置是src/main/resources目录下




    
    
        
            
            
                
                
                
                
            
        
    
    
    
        
    

将driver,url等属性的属性值改为自己的配置,映射文件创建之后更改为自己的


数据库表结构

创建相应实体类

get,set方法,toString方法

创建mapper接口

MyBatis中的mapper接口相当于以前的dao。但是区别在于,mapper仅仅是接口,我们不需要提供实现类。

创建MyBatis映射文件

相关概念:ORM(Object Relationship Mapping)对象关系映射。

对象:Java的实体类对象

关系:关系型数据库

映射:二者之间的对应关系

1、映射文件的命名规则:

表所对应的实体类的类名+Mapper.xml

因此一个映射文件对应一个实体类,对应一张表的 *** 作

MyBatis映射文件用于编写SQL,访问以及 *** 作表中的数据

MyBatis映射文件存放的位置是src/main/resources/mappers目录下

2、MyBatis中可以面向接口 *** 作数据,要保证两个一致

mapper接口的全类名和映射文件的命名空间(namespace)保持一致

mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致





    
        insert into t_user
        values (null, 'admin', '123456', 23, '男', '123456@qq.com')
    

在核心配置文件中引入映射文件

    
    
        
    
测试添加功能
    @Test
    public void testMyBatis() throws IOException {
        //加载核心配置文件
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获取SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        //获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获取mapper接口对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //测试
        int result = mapper.insertUser();
        System.out.println(result);
    }

执行成功,但是此时数据库表中没有添加成功

因为在核心配置文件中配置的是使用JDBC的方式管理事务,需要手动管理

添加成功

优化

加入log4j日志功能

添加依赖

        
        
            log4j
            log4j
            1.2.17
        

加入log4j的配置文件

log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下





    
        
        
            
        
    
    
        
    
    
        
    
    
        
        
    

日志的级别

FATAL(致命)>ERROR(错误)>WARN(警告)>INFO(信息)>DEBUG(调试)

从左到右打印的内容越来越详细

执行测试方法

修改,删除功能

UserMapper接口

 

UserMapper.xml

查询功能

MyBatis核心配置文件详解




    

    
    

    
    
        
        
        
        
        
    

    
    
        
        
            
            
            
            
                
                
                
                
                
                
                
                
            
        
    
    
    
        
        

        
        
    

jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql:///mybatis
jdbc.username=root
jdbc.password=root

这里的前缀是为了防止在不同的配置文件中有相同的键。


映射文件(两个一致)


在resource下新建包 注意不能用 点”.“ 

准备工作 idea中设置模板 设置配置文件模板

先创建一个mybatis-config.xml





    

    
        
    

    
        
            
            
                
                
                
                
            
        
    

    
        
    
    

设置

将其中不确定的部分删除(路径等)

设置映射文件模板

复制帮助帮助手册模板,去除不确定的部分

设置

封装SqlSessionUtils工具类
public class SqlSessionUtils {

    public static SqlSession getSqlSession() {
        SqlSession sqlSession = null;
        try {
            //加载核心配置文件
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
            //获取SqlSessionFactory
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
            //获取SqlSession,参数true表示自动提交
            sqlSession = sqlSessionFactory.openSession(true);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sqlSession;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/801344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存