java三阶段学习_day02总结

1.1 Mybatis介绍

mybatis是一款优秀的持久层框架
概括:
mybatis是一款优秀的持久层框架,并且在内部整合了jdbc,简化了用户操作数据库的过程
mybatis是一个半自动化的ORM映射框架

1.2 ORM思想

对象映射关系,用于实现面向对象编程语言里不同类型系统的数据之间的转换
核心知识:
宗旨:利用对象的方式去操作数据库.

  1. 要求查询的结果集 可以自动封装为对象 (读)
  2. 利用对象封装数据,之后动态的生成sql语句执行相关的操作.(更新)

1.3 springboot整合mybatis流程

  1. 导入依赖jar包,数据库驱动/jdbc包/spring整合mybatis包.
  2. 编辑application.yml文件, 配置数据源/配置spring整合mybatis.
  3. 编辑mybatis接口文件/编辑xxx.xml映射文件.
  4. 通过@MapperScan为接口创建代理对象.

1.4@SpringBootTest

说明: 该注解是SpringBoot的程序,为了简化后端的代码的测试,提供了专门的测试API.
关键点: 测试时需要Spring容器管理对象,同时将测试的对象获取,之后再进行测试.

1.5 Mybatis调用流程

  1. Spring容器为接口创建代理对象, Spring容器启动对象立即创建.
  2. 根据@Autowired 注解动态注入Mapper接口的代理对象
  3. 用户通过Mapper接口调用方法(执行业务操作)
  4. Mybatis根据接口方法动态匹配xml的映射文件
    1.根据Mapper的接口路径匹配xml文件中的com.jt.mapper.UserMapper
    2.根据接口的方法,匹配xml映射文件中的sql ID 之后执行sql语句
  5. Mybatis将结果集封装为对象之后返回.

1.6 关于Mybatis-statement异常

  1. 更换xml映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace必须与UserMapper接口一一对应-->
<mapper namespace="com.jt.mapper.UserMapper">

    <!--    id与接口里的方法名一致-->
    <select id="getAll" resultType="User">
    select * from demo_user

    <!--驼峰命名的规则
        表字段:  user_id,user_name
        对象的属性: userId,userName
        resultType:  保证属性与字段名必须一致
        Mybatis 提供驼峰命名规则:
        字段名user_id 去除下划线之后再映射属性-->
</mapper>
  1. 更换yml配置文件
server:
  port: 8090

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
    #如果数据库密码以数字0开头 则必须使用""号包裹
    #password: "01234"

#SpringBoot整合Mybatis配置
mybatis:
  #  添加别名包
  type-aliases-package: com.jt.pojo
  #  加载映射文件,一个借口对应一个映射文件
  mapper-locations: classpath:/mybatis/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true
  1. 清空缓存后重启(双击clean)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值