mabatis基础
本文最后更新于 195 天前,其中的信息可能已经有所发展或是发生改变。

介绍

在客户端工具中,编写增删改查的SQL语句,发给MySQL数据库管理系统,由数据库管理系统执行SQL语句并返回执行结果。

增删改操作:返回受影响行数

查询操作:返回结果集(查询的结果)

什么是MyBatis?

  • MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发。

  • MyBatis本是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

  • 官网:https://mybatis.org/mybatis-3/zh/index.html

持久层:指的是就是数据访问层(dao),是用来操作数据库的。

2.简单入门

准备工作

使用mybatis查询所有用户数据

1.创建springbbot工程,数据库表user,实体类User

2.引入mybatis相关依赖,配置mybatis(数据库连接信息)

3.编写sql语句

 <!-- 仅供参考:只粘贴了pom.xml中部分内容 -->
 《maven的xml文件当中的简单配置》
 <dependencies>
         <!-- mybatis起步依赖 -->
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>
             <artifactId>mybatis-spring-boot-starter</artifactId>
             <version>2.3.0</version>
         </dependency>
 
         <!-- mysql驱动包依赖 -->
         <dependency>
             <groupId>com.mysql</groupId>
             <artifactId>mysql-connector-j</artifactId>
             <scope>runtime</scope>
         </dependency>
         
         <!-- spring单元测试 (集成了junit) -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
 </dependencies>

数据表,数据库,数据连接,数据库服务启动

连接数据库的四大参数:

  • MySQL驱动类

  • 登录名

  • 密码

  • 数据库连接字符串

application.properties:

‘数据库连接配置文件

 #驱动类名称
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 #数据库连接的url
 spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
 #连接数据库的用户名
 spring.datasource.username=root
 #连接数据库的密码
 spring.datasource.password=1234

注解&编码

文件目录结构

UserMapper:

 import com.itheima.pojo.User;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 import java.util.List;
 
 @Mapper
 public interface UserMapper {
     
     //查询所有用户数据
     @Select("select id, name, age, gender, phone from user")
     public List<User> list();
     
 }
 
 //解释
 @Mapper注解:表示是mybatis中的Mapper接口
 
 - 程序运行时:框架会自动生成接口的实现类对象(代理对象),并给交Spring的IOC容器管理
 
  @Select注解:代表的就是select查询,用于书写select查询语句

知识点

@Mapper注解:表示是mybatis中的Mapper接口

  • 程序运行时:框架会自动生成接口的实现类对象(代理对象),并给交Spring的IOC容器管理

@Select注解:代表的就是select查询,用于书写select查询语句

##单元测试

在创建出来的SpringBoot工程中,在src下的test目录下,已经自动帮我们创建好了测试类 ,并且在测试类上已经添加了注解 @SpringBootTest,代表该测试类已经与SpringBoot整合。

该测试类在运行时,会自动通过引导类加载Spring的环境(IOC容器)。我们要测试那个bean对象,就可以直接通过@Autowired注解直接将其注入进行,然后就可以测试了。

 @SpringBootTest
 public class MybatisQuickstartApplicationTests {
     
     @Autowired
     private UserMapper userMapper;
     
     @Test
     public void testList(){
         List<User> userList = userMapper.list();
         for (User user : userList) {
             System.out.println(user);
         }
     }
 
 }

sql警告与提示

3.与JDBC的比较

  1. 数据库链接的四要素(驱动、链接、用户名、密码)全部硬编码在java代码中

  2. 查询结果的解析及封装非常繁琐

  3. 每一次查询数据库都需要获取连接,操作完毕后释放连接, 资源浪费, 性能降低

    jdbc上述,mybatis下述

  4. 数据库连接四要素(驱动、链接、用户名、密码),都配置在springboot默认的配置文件 application.properties中

  5. 查询结果的解析及封装,由mybatis自动完成映射封装,我们无需关注

  6. 在mybatis中使用了数据库连接池技术,从而避免了频繁的创建连接、销毁连接而带来的资源浪费。

4.使用了数据库连接池

介绍

数据库连接池的好处:

  1. 资源重用

  2. 提升系统响应速度

  3. 避免数据库连接遗漏

 <dependency>
     <!-- Druid连接池依赖 -->
     <groupId>com.alibaba</groupId>
     <artifactId>druid-spring-boot-starter</artifactId>
     <version>1.2.8</version>
 </dependency>

4.lombok

导入依赖即可,用注解方式为实体类生成getset方法等javaBean

综合案例

环境准备

1.准备数据表

2,.创建一个springboot工程,引入起步依赖(web ,mybatis

mysql驱动 lombok)

3.配置文件application 引入mybatis的配置信息

4,准备对应的实体类

5.准备对饮的mapper Service接口和实现类,Controller基础结构

阿里云

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇