(一)MyBatis

一、MyBatis特性

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

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

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

4)MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架

二、MyBatis的下载

MyBatis下载地址:GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for Java

三、和其它持久化层技术对比

①JDBC

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

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

        •代码冗长,开发效率低

②Hibernate和JPA

        •效操作简便、开发效率高

        •效程序中的长难复杂SQL需要饶过框架

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

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

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

③MyBatis

        •量级,性能出色

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

        •自开发效率稍逊于Hlbernate,但是完全能接受

四、MyBatis的搭建

     ①打包方式:jar

     ②引入依赖 如下

<dependencies> 
<!-- Mybatis核心 --> 
<dependency> 
<groupId>org.mybatis</groupId> 
<artifactId>mybatis</artifactId> 
<version>3.5.7</version> 
</dependency> 

<!-- junit测试 --> 
<dependency> 
<groupId>junit</groupId> 
<artifactId>junit</artifactId> 
<version>4.12</version> 
<scope>test</scope> 
</dependency> 

<!-- MySQL驱动 --> 
<dependency> 
<groupId>mysql</groupId> 
<artifactId>mysql-connector-java</artifactId> 
<version>8.0.16</version> 
</dependency> 
</dependencies> 

        ③创建MyBatis的核心配置文件

        习惯上命名为mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。将来整合Spring 之后,这个配置文件可以省略。核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息 核心配置文件存放的位置是src/main/resources目录下 。如下

<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/数据库名称? 
serverTimezone=UTC"/> 
<property name="username" value="数据库用户名"/> 
<property name="password" value="数据库密码"/> 
</dataSource> 
</environment> 
</environments> 
<!--引入映射文件--> 
<mappers> 
<package name="mappers/UserMapper.xml"/> 
</mappers> 
</configuration> 

        ④创建mapper接口

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

public interface UserMapper { 
/**
* 添加用户信息 
*/ 
int insertUser(); 
}

        ⑤创建MyBatis 的映射文件

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

        •对象:Java的实体类对象

        •关系:关系型数据库

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

Java概念

数据库概念

属性

字段/列

对象

记录/行

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

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

例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml

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

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

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

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

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

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

如下:

<mapper namespace="com.atguigu.mybatis.mapper.UserMapper"> 
<!--int insertUser();--> 
<insert id="insertUser"> 
insert into t_user values(null,'admin','123456',23,'男','12345@qq.com') 
</insert> 
</mapper> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值