通俗易懂讲解javaweb之mybatis

一、引言

在JavaWeb开发中,MyBatis是一款非常流行的持久层框架,它封装了JDBC操作的诸多细节,使开发者能够更专注于业务逻辑的实现。本文将从一个初学者的角度开始,通俗易懂地讲解MyBatis的基本概念和用法,帮助大家更好地掌握这一技术。

二、MyBatis简介

MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通的Java对象)为数据库中的记录。

三、核心概念

        1.SqlSessionFactory

        这是MyBatis的核心接口之一,负责创建SqlSession实例。SqlSessionFactory的生命周期是全局的,一旦创建,就可以在应用的整个生命周期中使用。

        

        2.SqlSession

        这是MyBatis的核心接口之一,代表和数据库的一次会话。SqlSession中包含了执行SQL所需的所有方法,例如查询、插入、更新和删除等。

        3.Mapper:

        Mapper是MyBatis中非常重要的一个概念,它代表一个SQL映射文件,用于定义SQL语句以及输入参数和输出结果的映射关系。

        

        4.结果映射

        结果映射是MyBatis中用于将数据库查询结果转换为Java对象的一种机制。通过结果映射,开发者可以灵活地处理各种复杂的数据库查询结果。

四、如何创建完整的Mybatis

(如果是maven项目的小伙伴们请移步其他博主的文章,本文只讲解javaweb中的mybatis使用)

 注意:创建完整的Mybatis项目需要相应的jar包,可以在本文置顶下载我分享的jar包,也可以使用别人分享的对应版本的jar包

版本如下:

通俗易懂讲解javaweb之mybatis_第1张图片

        1.创建日志文件

在src也就是根目录下,创建一个log4j.properties文件,该文件是用于记录项目日志的文件

mybatis默认将log4j.properties名字的文件作为日志文件

将以下代码原封不动复制到文件中

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

        2.创建mybatis核心配置文件 

        也是在src下创建SqlMapConfig.xml文件,其内容为数据源、事务管理

        将以下代码复制到SqlMapConfig.xml中




    
    
        
            
            
            
            
                
                
                
                
            
        
    

其中的四个property分别代表,数据库驱动、数据库地址、数据库用户名、数据库密码 

在数据地址的value值中3306后面代表的是数据库名字,不用精确到表名,只需要填写数据库名即可,webdemo是我的数据库名字,你们需要修改成你们的数据库名字

用户名和密码也是同理

        3.创建一个类

        可以在src下直接创建也可以创建一个包再创建

        创建一个类,这个类是用来接收数据库中的数据的,所以要接收数据的数据表名字是什么,最好类名就是什么,当然也可以不一致

通俗易懂讲解javaweb之mybatis_第2张图片

 那我这个举例,就创建一个最简单的一个类就好了

但是也要有一个地方要注意,创建成员变量时要注意和数据库的各个数据要对上,数量和名称都要一样

        4.创建映射文件

        也是在src下直接创建User.xml

       这个映射文件名最好也和类名相同

        所以我创建了一个User.xml

        这段代码也是不用改直接copy





        创建之后,我们要将User.xml添加在SqlMapConfig.xml之中,因为mybatis框架需要加载映射文件

像这样通俗易懂讲解javaweb之mybatis_第3张图片

注意这个resource的属性值为你xml文件的项目中的路径 

 

最后,再在User.xml文件中配置这么一段sql语句:

 

必须将它放置在User.xml文件中的标签中,这个resultType的属性值为你类在项目中的路径,右键找到copy reference

通俗易懂讲解javaweb之mybatis_第4张图片 

        5.创建测试类

public class Mytest {
    SqlSessionFactory ssf = null;
    @Before
    public void creatFactory(){
        InputStream input = null;
        try {
            input = Resources.getResourceAsStream("SqlMapConfig.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }
        ssf = new SqlSessionFactoryBuilder().build(input);
    }
    /** 通过id查找*/
    @Test
    public void testFindUserById(){
        SqlSession session =ssf.openSession();
        //System.out.println(session);
        User user = session.selectOne("test.findUserById", 4);
        System.out.println(user);
        System.out.println("用户名字:"+user.getName()+",用户密码:"+user.getPassword());
        session.close();
    }

}

第一个方法:

creatFactory,用于创建SqlSessionFactory对象。SqlSessionFactory是MyBatis的核心类,用于创建和管理数据库会话(即与数据库的交互)。 

creatFactory方法通常在配置文件中调用,用于初始化SqlSessionFactory。配置文件通常包含MyBatis的配置信息,如数据库连接信息、映射文件路径等。通过调用creatFactory方法,可以创建一个SqlSessionFactory实例,该实例可以用于创建数据库会话,并执行SQL语句与数据库进行交互。

第二个方法:

使用SqlSession执行查询

通过id找到用户数据

到这一步你已经完成了创建一个完整的Mybatis了,真是可喜可贺啊,赶快去试试吧

END:

好了,以上就是《通俗易懂讲解javaweb之mybatis》的全部内容了,如果有疑问可以评论区讨论或者私信留言,看到了都会回复的,如果这篇文章有帮助到你的话,麻烦点赞收藏加关注转发哦,你的支持就是我更新的最大动力,下篇文章见,886~

 

 

        

 

你可能感兴趣的:(javaweb简单快乐学习,mybatis,oracle,tomcat,java)