MyBatis学习--入门篇

本文是MyBatis的入门教程,介绍了MyBatis的基本概念、ORM框架和数据库持久化,并详细讲解了如何快速搭建开发环境,包括添加jar包、创建数据库和表。还展示了如何配置MyBatis、定义实体类、编写SQL映射文件,以及测试查询数据的代码示例。
摘要由CSDN通过智能技术生成

一、Mybatis介绍

在这里插入图片描述
MyBatis是一个ORM的数据库持久化框架。
 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀 持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

  • 什么是ORM? -->对象关系映射
  • 什么叫数据库持久化? -->就是将内存中的数据模型转换为存储模型,可以理解为你的东西保存在磁盘中,而不是在内存中,不会随着电脑的关机而丢失数据
  • 常见的数据持久有:磁盘持久化和数据库持久化。
    数据库持久化是数据持久化的其中一种,就是把内存中的数据保存到数据库中,Java中最简单的就是使用jdbc来完成数据库持久化
  • 什么又叫框架? --> 一系列功能的整合,方便我们去使用
    框架:

  • Spring:ioc(依赖注入[bean])和aop(面向切面编程[事务])

  • SpringMVC:mvc的框架(model,view,controller),[struts2也是mvc框架,只是它存在于老项目中,有很多漏洞],现在能用springmvc的就不会用struts2
    Jpa/hibernate:jpa是一个规范,hibernate是一个实现,是一个全自动的orm框架.MyBatis是一个半自动的orm框架,也就是会写sql语句

  • Shiro:java中的权限控制框架,spring的security也是权限框架

持久化技术:

  • Jdbc:java的持久化技术框架都是基于jdbc实现的,最繁琐,因为sql写在java代码中
  • Jpa:关注的是实际的操作,进行数据库数据和bean对象的映射,面向的是对象操作,sql不需要怎么写,所以性能不好控制,但简单直接方便
  • MyBatis:半自动orm框架,sql自己写,性能上能很好的控制,但有点繁琐

mybatis和jpa的相同点和不同点?
相同点:都是ORM框架,都是对jdbc进行封装。
不同点:
①jpa使用的是全映射,我们不需要写sql,由框架自动生成
②mybatis半映射,需要写sql
③mybatis的性能要高于jpa

二、mybatis快速入门

2.1、准备开发环境

1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:
在这里插入图片描述
2、添加相应的jar包
【mybatis】

mybatis-3.5.0.jar

【MYSQL驱动包】
mysql-connector-java-5.1.46.jar
  在这里插入图片描述
以上可以在下方链接下载,也可去官网下载  
下载地址
3、创建数据库和表,针对MySQL数据库
注意:MyBatis不能自动创建表,如果能够自动建表,必须自己先准备好建表的sql语句。

2.2、使用MyBatis查询表中的数据

1、添加Mybatis的配置文件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>
    <!-- 引入classpath下的jdbc的配置文件 -->
    <properties resource="jdbc.properties"></properties>
 
    <!-- 不建议使用这种方式定义别名,但要知道
    <typeAlias type="cn.aaa.domain.Product" ></typeAlias>  -->
 
    <!-- 自定义别名:  typeAliases:类型的别名 -->
    <typeAliases>
      <!-- typeAlias:这个type和alias的关系 -》 一一关系
       注意:如果不写alias,默认是类型的简单类名:首字母大小写无关,但是建议使用的时候使用大写! -->
        <package name="cn.aaa.domain"></package><!-- 表示这个包路径下的所有的类都有别名,默认简单类名 -->
    </typeAliases>
    <!-- environments:多个环境   development:开发 -->
    <environments default="development">
        <!-- 1个环境的配置,id:为这个环境取唯一一个id名称  注意:可配置多个环境 -->
        <environment id="development">
            <!--事务的管理:JDBC(支持事务)/MANAGED(什么都不做)-->
            <transactionManager type="JDBC"/>
            <!-- 数据源, 连接池  type(POOLED):MyBatis自带的连接池 -->
            <dataSource type="POOLED">
                <!-- 连接数据库的参数 -->
                <property name="driver" value="${jdbc.driver}"/>
                <property name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值