MyBatis使用详解

使用之前先介绍下什么是MyBatis:

百科:
mybatis百科
可能有些不便于理解,我来总结一下:简化数据库操作代码的框架。

MyBatis作用:

解决持久层数据处理的问题,主要是基于JDBC技术的原生代码比较繁琐,没有经过任何优化,开发甚至执行效率低下!

使用MyBatis框架时,不必关心JDBC技术如何实现,只需要编写需要执行的操作的抽象方法,例如User findById(Integer id),然后,为这个方法映射所需执行的SQL语句即可。

MyBatis的简单使用:

本文最终实现目标是利用MyBatis框架实现MySQL数据库的增删改查。
使用前提:

  1. 步骤1:创建数据:使用之前需要数据的支撑,创建一个名为t_ums的数据库,在数据库里面创建一个t_user的表。(这里用用户数据来做测试,在表里面添加几个字段,id,username,password,email,phone,age)表字段如下图:表字段

  2. 步骤2:创建MAVEN项目并配置环境
    2.1 添加web.xml文件解除报错生成web.xml消除报错
    2.2 添加tomcat添加tomcat运行环境
    2.3 添加所有要用到的依赖库,在pom.xml文件里面添加如下代码:导入依赖库
    2.4 添加springMVC配置文件(springmvc框架依赖库在2.3中一起倒入了)配置springmvc
    至此创建并配置项目部分结束!

  3. 步骤3:创建用户Model模型
    3.1 创建实体类,通常,每张数据表都有一个与之对应的实体类,在实体类中,有相同数量的属性,数据类型应该保持一致,属性名称与字段名应该一一对应(在Java中的属性名称应该采用驼峰命名法,而数据库领域中并不区分大小写),所有的属性都应该是私有的,且都存在公有的SET/GET方法,整个实体类应该是实现了Serializable接口的!所以在src/mian/java目录下创建User类,实现Serializable接口,并添加属性和get,set方法。创建用户模型

  4. 步骤4:配置数据库连接:在src\main\resources下创建db.properties文件,用于配置数据库连接的相关信息。
    添加数据库连接信息文件
    文件内容

  5. 步骤5:创建接口文件并编写方法 ,使用MyBatis时,无需自行编写JDBC相关代码,只需要创建Java接口文件,并将需要执行的数据操作的抽象方法添加在接口中即可!
    添加接口文件使用MyBatis时,执行的增、删、改操作均返回Integer,表示受影响的行数。

  6. 步骤6:编写XML映射
    使用MyBatis时,还需要与接口的抽象方法对应的SQL语句,该SQL语句是在XML文件中配置的!通常一个数据操作接口文件对应一个mapper.xml文件。
    添加接口的映射xml文件

  7. 步骤7:完成MyBatis的配置

    配置mybatis文件
    至此任务完成

  8. 步骤8:编写单元测试代码
    在src/test/java目录下创建Test测试类:测试类

  9. 执行查看效果: 在这里插入图片描述

到数据库验证结果:在这里插入图片描述

OK!大功告成!

MyBatis是一款轻量级的对象关系映射(Object Relational Mapping, ORM)框架,它允许Java开发者通过简单的SQL映射文件配置数据库访问,而无需编写大量的JDBC代码。以下是MyBatis的一些关键特性及使用详解: 1. XML配置文件:MyBatis的核心是XML映射文件,开发者在这些文件中声明数据表、字段、插入、查询、更新和删除操作的动态SQL。例如,你可以创建`Mapper`接口,并在对应的XML文件中定义其方法对应的实际SQL语句。 ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getUserById" resultType="User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 这里`namespace`标识了Mapper接口的位置,`id`则是方法名,#{id}是占位符,表示SQL中的参数。 2. SQL映射器(SqlSession):使用SqlSession对象进行数据库交互,它是MyBatis的主要入口。你可以获取SqlSession,然后通过调用Mapper接口的方法来执行相应的数据库操作。 ```java SqlSession session = sqlSessionFactory.openSession(); User user = session.selectOne("com.example.mapper.UserMapper.getUserById", 1); session.close(); ``` 3. 映射器接口和自动扫描:MyBatis支持注解式编程,比如`@Mapper`注解,将接口声明为Mapper接口,并指定其namespace,MyBatis会自动扫描生成对应的XML映射文件。 4. 动态SQL:MyBatis提供了强大的条件构建器,如`if`, `choose` 和 `when else` 等,可以在运行时根据条件动态构造SQL语句。 5. 批量处理:对于大量数据的操作,如批量插入,MyBatis提供了`insertList`这样的方法。 6. 自动事务管理:MyBatis默认支持Spring框架的事务管理,也可以手动开启和关闭事务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值