Mybatis框架入门和日志组件log4j2

本文介绍了Mybatis框架的基本概念、作用和使用时机,回顾了原生JDBC操作流程及其问题。详细讲解了Mybatis的概述,强调其作为半自动ORM框架的特点。接着,通过步骤演示了Mybatis的快速入门,包括下载、配置和基本使用。最后,文章提及了Java中的日志组件log4j2,解释了日志的重要性和不同级别。
摘要由CSDN通过智能技术生成

1、认识框架

1.1、什么是框架

框架就是一个架子,例如,表演节目,舞台搭建好,表演什么节目,根据相应的需求来定。

框架是一个半成品,对于java语言来说,框架就是封装类别人写好的代码,在框架的基础上我们在进一步开发。

1.2、框架解决什么问题

框架解决的是技术整合的问题。软件开发环境和规模都很大,不可能任何一个项目的代码都从零开始,此时就需要一个非常优秀的框架把基础技术整合完毕,我们在它的基础上进一步开发。提高性能,扩展,易于维护,最终提高整个团队的开发效率。

1.3、什么时候使用框架

企业级大型项目开发

1.4、怎么使用框架

Java的框架具有一定的共性:
   ●使用什么框架,就需要导入框架所必须的jar包
   ●定义控制框架行为的配置文件(xml)
   ●使用框架,就是调用框架中的API,来完成一系列相关的操作

2、回顾原生JDBC操作流程

查询用户表中所有的数据
   ●加载数据库的驱动包
   ●准备连接数据库的参数
   ●获取Connection对象
   ●准备SQL语句,并通过statement或者PreparedStatement来执行SQL
   ●处理结果
   ●关闭数据库连接对象

原生JDBC存在的问题
   ●频繁的连接,释放数据库资源,降低系统的性能
   ●SQL语句硬编码(就是把SQL语句写在程序中),难以维护SQL语句
   ●参数和占位符对应问题
   ●结果集解析麻烦,列名硬编码

3、Mybatis框架概述

MyBatis原本是Apache软件基金会的一个开源项目叫iBatis,2010年这个项目由Apache迁移到了google code上来管理并改名为MyBatis,2013年又迁移到了Github。

MyBatis是一个非常优秀的持久层框架(DAO层框架),它是对JDBC的封装,使得开发者只需要关注SQL语句(业务)本身即可,无需开发者处理加载驱动、获取连接、创建Statement等繁琐的操作。

MyBatis最大的特点就是把SQL语句写在XML配置文件中,而且MyBatis执行完SQL语句之后可以以对象形式返回(POJO/POJO集合等)

MyBatis是一个实现类ORM思想的持久层框架

ORM(Object/Relation Mapping)对象/关系映射,对象就是指的java中的类的实例,关系指的是关系型数据库

ORM思想:将数据库中的关系数据表映射为java中的对象,把对数据表的操作转换为对对象的操作,实现面向对象编程。因此ORM的目的是使得开发人员以面向对象的思想来操作数据库。

比如:原来添加使用的是INSERT INTO…,如果使用了实现ORM思想的持久层框架,就可以在Java程序中直接调用api,比如insert(User),达到操作对象即可操作数据库的效果。
Hibernate是一个全自动的ORM持久层框架,只需要编写POJO,在XML中定义好POJO属性和数据库表字段的映射/对应关系,就可以在Java中实现以面向对象的方式进行操作。SQL语句都不用编写,但是因为性能等问题,市场占有率越来越低。

MyBatis框架是一个半自动的ORM持久层框架,也可以在Java中实现以面向对象的方式操作数据库,但是需要我们自己编写SQL语句,MyBatis是目前比较流行的DAO中持久层的框架技术。

4、Mybatis快速入门

4.1、MyBatis下载

官方学习网站:
https://mybatis.org/mybatis-3/zh/index.htmlMyBatis

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

下载,然后解压获取mybatis的核心jar包:
在这里插入图片描述

4.2、MyBatis快速入门

步骤:
   ●导入MyBatis框架的核心jar包
   ●配置文件
   ●解析配置文件,让mybatis框架通过配置文件的信息,去做一些行为
   ●通过创建SqlSessionFactoryBuilder来解析配置文件,返回一个SqlSessionFactory对象
   ●SqlSessionFactory对象,是一个专门用来创建SqlSession的工厂类
   ●SqlSession中就提供了用于增删改查的相关方法。

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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test3?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    
</configuration>

解析mybatis-config.xml文件,并获取SqlSessionFactory对象,java文件代码:

		//读取配置文件
 	   InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
 	   //首先创建一个SqlSessionFactoryBuilder对象,然后解析配置文件中的内容,
       SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
       //创建一个真正的SqlSessionFactory对象,SqlSessionFactory就类似于数据源对象DataSource
       SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);
       //创建一个SqlSession对象,该对象下就提供类一系列增删改查的方法
       SqlSession sqlSession=sqlSessionFactory.openSession();

以User为例,来完成数据库数据查询的操作:
提供一个User类:

public class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值