当前位置: 首页 > news >正文

新手站长做什么网站800元做小程序网站

新手站长做什么网站,800元做小程序网站,青州网站建设,传诚信网站建设文章目录 一. 什么是MyBatis二. MyBatis操作数据库步骤(使用注解)创建工程创建数据库创建对应实体类配置数据库连接字符串写持久层代码单元测试 三. MyBatis基础操作 使用注解打印日志参数传递增删改查 一. 什么是MyBatis 简单来说 MyBatis 是更简单完成程序和数据库交互的框架…

文章目录

  • 一. 什么是MyBatis
  • 二. MyBatis操作数据库步骤(使用注解)
    • 创建工程
    • 创建数据库
    • 创建对应实体类
    • 配置数据库连接字符串
    • 写持久层代码
    • 单元测试
  • 三. MyBatis基础操作 使用注解
    • 打印日志
    • 参数传递

一. 什么是MyBatis

在这里插入图片描述
在这里插入图片描述
简单来说 MyBatis 是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库⼯具

二. MyBatis操作数据库步骤(使用注解)

在这里插入图片描述

创建工程

创建springboot⼯程,并导⼊ mybatis的起步依赖、mysql的驱动包
在这里插入图片描述
Mybatis 是⼀个持久层框架, 具体的数据存储和数据操作还是在MySQL中操作的, 所以需要添加MySQL驱动
在这里插入图片描述

创建数据库

CREATE TABLE `userinfo` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(127) NOT NULL,`password` varchar(127) NOT NULL,`age` tinyint(4) NOT NULL,`gender` tinyint(4) DEFAULT '0' COMMENT '1-男 2-女 0-默认',`phone` varchar(15) DEFAULT NULL,`delete_flag` tinyint(4) DEFAULT '0' COMMENT '0-正常, 1-删除',`create_time` datetime DEFAULT CURRENT_TIMESTAMP,`update_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;

创建对应实体类

在这里插入图片描述

配置数据库连接字符串

spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver

修改数据库名称, 密码即可

写持久层代码

在这里插入图片描述
在这里插入图片描述

Mybatis的持久层接⼝规范⼀般都叫 XxxMapper

@Mapper注解:表⽰是MyBatis中的Mapper接⼝
程序运⾏时, 框架会⾃动⽣成接⼝的实现类对象(代理对象),并给交Spring的IOC容器管理

@Select注解:代表的就是select查询,也就是注解对应⽅法的具体实现内容

单元测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择想要测试的方法, 就会在Test中对应的文件帮我们创建测试方法
在这里插入图片描述

  1. 需要我们添加@SpringBootTest注解, 该测试类在运行时, 就会自动加载Spring的运行环境
  2. 通过@Autowired这个注解, 注入我们要测试的类, 就可以开始测试了
    在这里插入图片描述

在这里插入图片描述

运行成功

三. MyBatis基础操作 使用注解

打印日志

在Mybatis当中我们可以借助⽇志, 查看到sql语句的执⾏、执⾏传递的参数以及执⾏结果

mybatis:configuration: # 配置打印 MyBatis⽇志log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

在这里插入图片描述

参数传递

在方法中添加参数, 将方法中的参数, 传给SQL, 在SQL语句中使用**#{ }**来接收
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述

  1. 如果方法形参只有一个参数, 那么#{} 中的属性名可以随便写
  2. 如果是多个参数, 那么就要求参数名和属性名一致
    在这里插入图片描述
  3. 可以通过@Param()设置别名, 来映射到对应的属性名
    在这里插入图片描述此时, 只会按照id2来映射, id会失效

在这里插入图片描述
在这里插入图片描述
如果使用@Param
在这里插入图片描述
想要获取到自增字段:
使用@Options(useGeneratedKeys = true, keyProperty = “id”)
在这里插入图片描述
在这里插入图片描述
将JDBC的useGeneratedKeys方法拿到的数据库中生成的主键, 赋给keyProperty指定的属性中
测试:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
观察日志发现, 数据库将后面字段的数据传回来了, 但是在打印userInfo对象时, 却没有接收到
原因分析:
当⾃动映射查询结果时,MyBatis 会获取结果中返回的列名并在 Java 类中查找相同名字的属性(忽略
⼤⼩写)。 这意味着如果发现了 ID 列和 id 属性,MyBatis 会将列 ID 的值赋给 id 属性
但是由于规范性, 命名的时候, 字段名和属性名 不可能完全一致
** 办法一: 起别名**
在这里插入图片描述
在这里插入图片描述
成功接收
** 办法二: 结果映射**
使用@Results({@Result(column = ..., property = ...), @Result(column = ..., property = ...)...})注解, 来映射字段和属性
在这里插入图片描述
在这里插入图片描述
映射成功
但是每当我们写个sql都需要加上这个映射关系
复用映射关系:
如果其他SQL, 也希望可以复⽤这个映射关系, 可以给这个Results定义⼀个id
在这里插入图片描述
其他的sql使用@ResultMap注解来复用这个映射关系即可
在这里插入图片描述
办法三: 开启驼峰命名
加上配置:

mybatis:configuration: map-underscore-to-camel-case: true #配置驼峰⾃动转换

在这里插入图片描述
代码中无需做任何处理
在这里插入图片描述
映射成功

http://www.mmbaike.com/news/65340.html

相关文章:

  • 东莞做微网站建设优化设计官网
  • WordPress灯箱效果移动适配亚马逊关键词优化软件
  • 专业html5网站建设苏州seo培训
  • 那个网站专做文具批发百度seo优化是做什么的
  • wordpress 80端口seo关键词排名优化哪家好
  • 设计网站 问题免费友情链接平台
  • 昆明网站建设ynmdwl美国搜索引擎
  • 网站建设费属于业务宣传费吗苏州关键词搜索排名
  • 淄博网站设计丨致信网络盐城seo推广
  • 网站挂标 怎么做广告网址
  • 专业的网站建设公司域名查询服务器
  • 手机网站支持微信支付网络营销制度课完整版
  • 湖州做网站公司有那几家成都seo服务
  • 网站建设有哪些困难新乡网站推广
  • 企业网站开发需求分析杭州搜索引擎推广排名技术
  • 电子商务网站建设实训活动推广方案策划
  • 电子商务网站建设实用教程教案挖掘关键词的工具
  • 手机网站开发论坛天津优化公司哪家好
  • 新野做网站百度收录申请入口
  • 济宁专业建网站如何在百度搜索排名靠前
  • wap企业网站源码基本seo技术在线咨询
  • 怎么创建视频网站大连企业网站建站模板
  • 网站会员体系方案网站优化主要优化哪些地方
  • 孝感网站开发的公司seo信息网
  • 邀请函制作软件app有哪些优化方案官网
  • 网站开发 改进百度sem
  • 沈阳顺天建设集团网站关键词点击价格查询
  • 大连英文网站建设自己接单的平台
  • 中小型网站建设百度推广有效果吗
  • abp网站开发醴陵网站制作