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

唯品会网站建设 分析报告微商城代运营

唯品会网站建设 分析报告,微商城代运营,朝阳开发公司,做政协网站的目的是什么目录 前言#xff1a; 1.MyBatis是什么 2.为什么要学习MyBatis框架 3.MyBatis框架的搭建 3.1添加MyBatis框架 3.2设置MyBatis配置 4.根据MyBatis写法完成数据库的操作 5.MyBatis里面的增删改查操作 5.1插入语句 5.2修改语句 5.3delete语句 5.4查询语句 5.5like查…目录 前言 1.MyBatis是什么 2.为什么要学习MyBatis框架 3.MyBatis框架的搭建 3.1添加MyBatis框架 3.2设置MyBatis配置 4.根据MyBatis写法完成数据库的操作 5.MyBatis里面的增删改查操作 5.1插入语句 5.2修改语句 5.3delete语句 5.4查询语句 5.5like查询 5.6MyBatis注解方式实现多表查询 6.动态SQL的使用 6.1if标签 6.2trim标签 6.3where标签 6.4set标签 6.5foreach标签 结束语: 前言 在前几节中小编重点与大家分享了有关于Spring Boot和Spring MVC的相关的一些基础知识那么接下来小编就与大讲解一下有关于MyBatis的一些基础知识那么经过前期的学习中让我们知道了在Spring中的一些基础操作那么接下来我们就需要学习有关于如何将前端传递的数据保存起来或者是查询数据库里面的一些数据。 1.MyBatis是什么 MyBatis是一款优秀的持久层框架它支持自定义的SQL、存储过程以及高级映射。它的底层是基于JDBC的通过它可以实现更加简单的数据库的操作。MyBatis去除了几乎所有JDBC代码以及设置参数和获取结果集的工作MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO为数据库中的记录。简单来说MyBatis是更简单完成程序和数据库交互的工具也就是更加简单的操作和读取数据库工具。大家也可以参考一下MyBatis的官网的定义☞https://mybatis.org/mybatis-3/zh/index.html 2.为什么要学习MyBatis框架 对于后端开发来说程序是由以下两个重要的部分组成的 后端程序数据库 而这两个重要的组成部分要通讯就要依靠数据库连接工具那数据库连接工具有哪些呢比如我们之前学习的JDBC还有我们现在介绍的MyBatis那么既然我们以及有了JDBC了为什么我们还要学习MyBatis呢我们先来回顾一下我们之前学习JDBC的时候是怎么连接数据库的。 创建数据库连接池DataSource。通过DataSource获取数据库连接Connection。编写执行带占位符的SQL语句。通过Connection及SQL创建操作命令对象Statement。替换占位符指定要替换的数据库字段类型占位符索引及要替换的值。使用Statement执行SQL语句。查询操作返回结果集ResultSet更新操作返回更新的数量。处理结果集。释放资源。 你会发现JDBC的操作步骤太过于繁琐了所以我们就有了MyBatis这就会让我们操作数据库的时候更加快捷方便。 3.MyBatis框架的搭建 3.1添加MyBatis框架 创建一个Spring MVC的项目和我们之前创建的步骤一样只不过在添加依赖的时候多了下面两个。 注意新建MyBatis启动时报错时正常的因为未设置要连接的具体MySQL的详细信息。 3.2设置MyBatis配置 ①数据库相关的连接 # 设置数据库的相关连接信息 spring.datasource.urljdbc:mysql://127.0.0.1:3306/myblog2023_10_06?characterEncodingutf8 spring.datasource.usernameroot spring.datasource.password123456 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver注意如果使用 mysql-connector-java 是 5.x 之前的使用的是“ com.mysql.jdbc.Driver ” 如果是大于 5.x 使用的是“ com.mysql.cj.jdbc.Driver ” 。 ②xml保存路径和命名格式 # 设置 MyBatis XML 存放路径和命名格式 mybatis.mapper-locationsclasspath:mybatis/*Mapper.xml # 配置 MyBatis 执行时打印 SQL可选配置 mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl logging.level.com.example.demodebug 注意里面的配置项的信息有些是需要根据自己的数据库来进行改动的。  上述的常用配置大家可以去我的Gitee中自行获取配置文件: spring中的一些配置文件  4.根据MyBatis写法完成数据库的操作 在我们对数据库进行操作之前我们先来创建一个数据库。 如下Sql语句所示 -- 创建数据库 drop database if exists myblog2023_10_06; create database myblog2023_10_06 DEFAULT CHARACTER SET utf8mb4; -- 使⽤数据数据 use myblog2023_10_06;-- 创建表[⽤户表] drop table if exists userinfo; create table userinfo(id int primary key auto_increment,username varchar(100) not null,password varchar(32) not null,photo varchar(500) default ,createtime datetime default now(),updatetime datetime default now(),state int default 1 ) default charset utf8mb4;-- 创建⽂章表 drop table if exists articleinfo; create table articleinfo(id int primary key auto_increment,title varchar(100) not null,content text not null,createtime datetime default now(),updatetime datetime default now(),uid int not null,rcount int not null default 1,state int default 1 )default charset utf8mb4;-- 创建视频表 drop table if exists videoinfo; create table videoinfo(vid int primary key,title varchar(250),url varchar(1000), createtime datetime default now(), updatetime datetime default now(),uid int )default charset utf8mb4; -- 添加⼀个⽤户信息 INSERT INTO myblog2023_10_06.userinfo (id, username, password, photo, createtime, updatetime, state) VALUES (1, admin, admin, , 2021-12-06 17:10:48, 2021-12-06 17:10:48, 1) ; -- ⽂章添加测试数据 insert into articleinfo(title,content,uid)values(Java,Java正⽂,1);-- 添加视频 insert into videoinfo(vid,title,url,uid) values(1,java title,http://ww w.baidu.com,1); 那么根据MyBatis写法完成数据的操作常规写法包含了两个文件 接口方法的声明给其他层调用。XML实现接口。 那么接下来我们就按照上述的两步来编写一下查询全部用户信息的代码。 ①定义接口 ②使用XML实现接口 接下来我们就写一个测试来进行测试。 测试代码展示 package com.example.demo.dao;import com.example.demo.model.Userinfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;import java.util.List; SpringBootTest //不可以省略告诉当前的测试程序目前项目是运行在Spring Boot容器中的 class UserMapperTest {Autowiredprivate UserMapper userMapper;Testvoid getAll() {ListUserinfo list userMapper.getAll();System.out.println(list);} } 结果展示 这里注意一定要在测试代码中加上SpringBootTest注解否决就会报以下的错误。 当然在MyBatis中国也可以传递参数来查询。 如下所示 定义接口 这里使用注解Param来表明传入的参数。  编写XML 这里接收参数的时候使用${参数名}或者是也可以使用#{参数名} 的方式来进行参数的传递。 那么这里使用这两个的区别是什么呢 使用${参数名}的方式是对其进行了及时执行。 而使用#{参数名}的方式是对其进行了预执行。 它的优点在于可以防止SQL注入是安全的。 所以 ${参数名} VS #{参数名} 的区别在于 ${}是直接替换#{}是预执行。${}是不安全的存在SQL注入的风险而#{}是安全的不存在SQL注的风险。 那么${}可以实现的功能#{}都可以实现并且${}还有SQL注入的风险为什么还存在${}的写法呢 这里就要提到${}的使用场景了当业务中需要传递SQL命令的时候就只能使用${}不能使用#{}了。但是他也有使用中的注意事项如果要使用${}那么传递的参数一定要能被穷举否则是不可以使用的。 测试代码 结果展示 大家也可以和小编一样使用MyBatis的一个插件MyBatisX这样就可以更加方便的实现XML和对应接口之间的跳转了。 以上就是MyBatis的一个简单的使用案例了。 接下来当我们熟悉了MyBatis的基本使用方法之后我们就来继续探讨一下MyBatis的其他使用方式。 5.MyBatis里面的增删改查操作 接下来我们来实现一下用户信息的增加、删除和修改的操作对应使用MyBatis的标签如下所示 insert标签插入语句。updata标签修改语句。delete标签删除语句。select标签查询操作。 具体的操作我们来看下面。 5.1插入语句 insert标签插入语句。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 当然我们也可以在数据库中看到插入的数据信息。 当然在编写插入操作的SQL语句的时候还有一些属性可以使用如下所示 解释 useGeneratedKeys这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键⽐如像 MySQL 和 SQL Server 这样的关系型数据库管理系统的⾃动递增字段默认值false。 特殊的添加返回⾃增 id 。keyColumn设置⽣成键值在表中的列名在某些数据库像 PostgreSQL中当主键列不是表中的第⼀列的时候是必须设置的。如果⽣成列不⽌⼀个可以⽤逗号分隔多个属性名称。 keyProperty指定能够唯⼀识别对象的属性MyBatis 会使⽤ getGeneratedKeys 的返回值或insert 语句的 selectKey ⼦元素设置它的值默认值未设置unset。如果⽣成列不⽌⼀个可以⽤逗号分隔多个属性名称。 5.2修改语句 updata标签修改语句。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 在数据库中查看数据的修改情况。 5.3delete语句 delete标签删除语句。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 数据库中的表现 5.4查询语句 select标签查询操作。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 和我之前在XML中编写方式不同的点是这里我们使用了resultMap标签。 当类中的属性和数据库表中的字段名不一致时那么查询的结果为null解决方案 将类中的属性和表中的字段名保持一致最简单的解决方法。使用SQL语句中的as进行列名的重命名让列名等于属性名。定义一个resultMap将属性名和字段名进行手动映射。 5.5like查询 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 5.6MyBatis注解方式实现多表查询 我们先来重新定义一个实体类。 package com.example.demo.model;import lombok.Data;import java.time.LocalDateTime;Data public class Articleinfo {private int id;private String title;private String content;private LocalDateTime createtime;private LocalDateTime updatetime;private int uid;private int rcount;private int state; }①定义接口并使用Select注解进行SQL语句的编写 ②编写测试代码 ③测试结果展示 使用注解最大的优点就是不需要我们在编写程序的时候跳来跳去了。 6.动态SQL的使用 动态SQL是MyBatis的强大特征之一它能够完成不同条件下的不同SQL的拼接。 6.1if标签 在有些业务场景下会有必填字段和非必填字段那么如果有些字段是不确定的字段传入此时程序又该怎么实现呢接下来就需要使用if标签来进行判断了在if标签中有一个属性是test属性它用来判断这个字段是否是需要填写的字段如果是填写的字段则进行添加操作如果不是则不进行添加。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 6.2trim标签 在之前的插入用户的功能中只有一个sex字段可能是选填项如果所有字段都是非必填项就考虑使用trim标签结合if标签对多个字段都采取动态生成的方式。 在trim标签中有以下属性 prefix表示整个语句块以prefix的值作为前缀 。suffix表示整个语句块以suffix的值作为后缀 。prefixOverrides表示整个语句块要去除掉的前缀 。suffixOverrides表示整个语句块要去除掉的后缀。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 6.3where标签 当传入的用户对象需要根据属性做where条件查询时此时我们就需要在SQL语句后面拼接上一句where条件查询语句那么where标签就可以很好的做到当需要进行条件查询的时候我们就在后面进行拼接如果不需要的时候就不会拼接。具体我们来看下面的例子。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 当然这里我们在编写XML里面的SQL语句的时候也可以将其换成trim搭配if标签也会达到同样的效果如下所示 6.4set标签 根据传入的用户对象属性来更新用户数据可以使用set标签来指定动态内容具体操作如下所示。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 6.5foreach标签 对集合进⾏遍历时可以使⽤该标签。foreach标签有如下属性 collection绑定⽅法参数中的集合如 ListSetMap或数组对象 。item遍历时的每⼀个对象 。open语句块开头的字符串 。close语句块结束的字符串 。separator每次遍历之间间隔的字符串。 ①定义接口 ②编写XML中的SQL语句 ③编写测试代码 ④测试结果展示 结束语: 好了这节小编就给大分享到这里啦希望这节对大家有关于MyBatis的基础知识的了解有一定帮助想要学习的同学记得关注小编和小编一起学习吧如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津在此小编先谢过各位大佬啦
http://www.dnsts.com.cn/news/57494.html

相关文章:

  • 网站备案必须在公司注册地直播平台开发多少钱
  • 建设门户网站的意见和建议用开源源码做淘宝客网站
  • 营销型网站优势哪个网站做美食好一点
  • 实验楼编程网站哪个企业的网站做的比较好
  • 长沙建站宝网络科技有限公司门户网站建设好如何维护
  • 高明做网站目前较流行的网站开发框架
  • 网站维护机构邦邻营销型网站建设
  • 网站建设每月工作多少建设工程信息官网查询系统
  • 建立 网站服务器网页设计基础教程视频教程
  • 东莞网站设计公司排名注册会计师考试科目
  • 哪个网站可以查建筑公司资质北京网站建设方案软件
  • 织梦发布网站上海网站建设排名公司哪家好
  • 广州番禺网站制作推广wordpress 改 分隔
  • h5响应式网站源码下载建设网站群的指导思想
  • 微信小程序项目模板台州网站排名优化
  • 免费做ppt网站凡科互动怎么发布
  • 昆明网站制作计划wordpress小程序插件
  • 商城网站具体需求网站后台ftp
  • 公司内部网站管理系统企业网站是怎么建站的
  • 中山的网站建设自己免费做小程序
  • 国内有名的网站设计公司手机软件设计用什么软件
  • 新建的网站怎么做seo优化wordpress获取自定类型
  • 青岛做门户网站公司网站有很多304状态码
  • 网站建设初稿做自媒体哪家网站好
  • 建设网站要备案吗区块链 网站 怎么做
  • 购物网站建设新闻域名是什么格式
  • 网站主题和风格网站建设计划表模板
  • 建设网站天河区网页qq怎么登录界面
  • 建立公司网站商场大型话题活动策划网站
  • 钓鱼网站代做企业老板培训课程