- 博客(87)
- 收藏
- 关注
原创 Vue中span标签width宽度对英文和数字不生效解决方法
在span标签中写上style=“word-break: break-all;width: 2rem;”html同理
2021-10-19 17:39:16
1246
原创 查询操作
@Test void contextLoads() { //参数是一个条件构造器wrapper,先暂时填null //查询全部用户 List<User> users = userMapper.selectList(null); for (User user : users) { System.out.println(user); } } //批量查询 @Test.
2021-05-18 17:20:17
348
原创 乐观锁
乐观锁:总是认为不会出现问题,无论干什么都不会上锁,如果出现了问题就再次更新值测试1.取出记录时,获取当前version2.更新时,带上这个version3.执行更新时, set version = newVersion where version = oldVersion4.如果version不对,就更新失败实现步骤:1.给数据库增加version字段2.实体类加上对应的注解@Version private int version;3.注册组件:package com.da
2021-05-18 17:13:43
196
原创 配置日志
在yml文件中配置:mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImplCRUD扩展:插入测试:@Test public void testInsert(){ User user =new User(); user.setName("Java"); user.setAge(11); user.setEmail("21323
2021-05-18 16:52:56
149
原创 快速入门
1.创建数据库DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (
2021-05-18 16:45:01
63
原创 Hash类型
Map集合,key-map 本质和string类型没有太大区别,还是kv键值对127.0.0.1:6379> flushdbOK127.0.0.1:6379> hset map k1 v1 #set一个具体的值 key-value(integer) 1127.0.0.1:6379> hget map k1"v1"127.0.0.1:6379> hmset map k1 v11 k2 v2 k3 v3 #set多个key-valueOK127.0.0.1:63
2021-05-18 16:39:05
57
原创 Set类型
set中的值不可重复,无序127.0.0.1:6379> sadd set hello #set一个值为hello(integer) 1127.0.0.1:6379> sadd set world(integer) 1127.0.0.1:6379> smembers set #查看set中的所有值1) "world"2) "hello"127.0.0.1:6379> SISMEMBER set hello #判断某一个值是否在set集合中(integer)
2021-05-18 16:35:58
110
原创 五大数据类型
Redis-key127.0.0.1:6379> set name dai #设置数据库中name的值为daiOK127.0.0.1:6379> keys * #查看所有keys1) "name"127.0.0.1:6379> get name #获取name的值"dai"127.0.0.1:6379> move name 1 #移除 name字段 (integer) 1127.0.0.1:6379> keys *(empty array)12
2021-05-17 20:03:08
112
原创 Redis基础知识
redis 默认有16个数据库数据库默使用第0个数据库可以使用select切换数据库127.0.0.1:6379> select 4OK127.0.0.1:6379[4]> DBSIZE(integer) 0存储数据后查看数据库大小:显示所有数据127.0.0.1:6379[4]> keys *1) "name"清除当前数据库127.0.0.1:6379[4]> flushdb #清除当前数据库OK(1.37s)127.0.0.1:6379[4]
2021-04-07 14:29:07
59
原创 Linux上安装Redis
1.去官网下载包2.解压到 /opt 目录下3.进入解压后的文件,可以看到redis的配置文件 redis.conf4.基本环境安装yum install gcc -c++makemake install5.redis默认安装路径 usr/local/bin6.将redis配置文件复制到当前/dconfig目录下7.redis默认不是后台启动,修改配置文件8.启动Redis服务+使用redis-cli 进行连接测试9.查看redis进程是否开启ps -e
2021-04-07 14:27:06
50
原创 Redis概述
Redis(Remote Dictionary Server ),即远程字典服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。作用:1.内存存储、持久化,内存中是断电即失,所以持久化很重要(rdb、aof)2.效率高,可以用于高速缓存3.发布订阅系统4.地图信息分析5.计时器、计数器(浏览量)等特性:1.多样的数据类型2.持久化3.集群4.事务…...
2021-04-07 14:23:46
92
原创 NoSQL四大分类
KV键值对:新浪:Redis美团:Redis+Tair阿里、百度:Redis+memecache文档型数据库(bson格式,和json一样):MongoDB1.MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档2.MongoDB是一个介于关系型数据库和非关系型数据库的中间产品3.MongoDB是非关系型数据库中功能最丰富,最像关系型数据库的ConthDB列存储数据库:HBase分布式文件系统图关系数据库:不是存图片的,放的是关系,比如:朋友圈社交网络
2021-04-07 14:22:48
88
原创 NoSQL
关系型数据库:表格,行,列NoSQL=Not Only SQL泛指非关系型数据库,随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0时代,尤其是大规模的高并发的社区很多的数据类型用户的个人信息,社交网络,地理位置,这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以扩展的。Map<String,Object>使用键值对来控制特点1.方便拓展(数据之间没有关系,很好的扩展,解耦)2.大数据量高性能(Redis 一秒可以写入8w次,读取11w,NoSQL的缓
2021-04-07 14:20:02
62
原创 docker安装
首先要联网! (yum install -y yum源)1.安装准备环境yum -y install 包名 #yum install 安装命令 -y 所有提示都为yyum -y install gccyum -y install gcc-c++2.卸载以前的dockersudo yum remove docker \ docker-client \ docker-client-latest \
2021-04-06 22:23:10
52
原创 环境安装
JDK安装:1.去官网下载JDK rpm2.安装java环境rpm -qa|grep jdk #检测jdk版本信息rpm -ivk rpm包 #安装jdk配置环境变量:/etc/profile 在文件最后面增加java的配置和windows安装环境变量一样JAVA_HOME=/usr/java/jdk1.8.0_11JRE_HOME=$JAVA_HOME/jre CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/libPATH=$JAVA_HOME
2021-04-02 22:11:46
52
原创 用户组管理
创建一个用户组 : groupadd 用户名[root@localhost home]# groupadd dai[root@localhost home]# cat /etc/group创建完用户组之后可以得到一个组的id 这个id可以指定 : -g 222 如果不指定就是自增1删除用户组 groupdel:[root@localhost home]# groupdel group[root@localhost home]# cat /etc/group修改用户组的权限信息和名
2021-04-02 22:10:15
90
原创 账号管理
useradd命令添加用户:useradd -选项 用户名-m :自动创建这个用户的主目录 /home/dai-G :分配用户组[root@localhost ~]# useradd dai[root@localhost ~]# cd /home[root@localhost home]# lsdai daistudy2 master本质:Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息 /etc/passwd删除用户 userdeluse
2021-04-02 22:02:22
79
原创 Vim编辑器
Vim一共有三种模式: 命令模式,输入模式,底线命令模式用户刚启动Vim就进入了命令模式此状态下的键盘动作会被识别成命令,并非输入字符以下是常用的几个命令:i 切换到输入模式,输入字符x 删除当前光标所在处的字符: 切换到底线命令模式,在最底行输入命令,如果是编辑模式,需要先退出编辑模式,ESC键退出底线命令模式::wqw:保存文件q:退出程序按ESC可以随时退出底线命令模式...
2021-04-02 21:59:19
50
原创 基本常用命令
cd :切换目录cd / :返回上一级目录ls :列出目录-a参数: all,查看全部文件,包括隐藏文件-l参数: 列出所有文件,包含文件的属性和权限,但没有隐藏文件所有的Linux 可以组合使用pwd 显示当前用户所在目录:[root@localhost ~]# cd /home[root@localhost home]# pwd/homemkdir 创建一个目录[root@localhost ~]# cd /home[root@localhost home]# pwd
2021-04-02 21:57:49
139
原创 Git
#查看指定文件状态git status [filename]#查看所有文件状态git status#git add . 添加所有文件到缓存区#git commit -m"消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息忽略文件: 有时我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等在主目录下简历".gitignore"文件,此文件有以下规则:.txt #忽略所有 .txt 结尾的文件,这样上传的时候就不会被选中!lib.txt
2021-04-02 21:50:20
55
原创 Springboot中的web开发
自动装配xxxAutoConfiguraion … 向容器中自动配置组件xxxProperties: 自动配置类,装配配置文件中自定义的一些内容要解决的问题1.导入静态资源2.首页3.jsp,模板引擎 Thymeleaf4.装配扩展SpringMVC5.增删改查6.拦截器7.国际化@Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { super.addResourc
2021-03-13 20:54:27
100
原创 SpringBoot原理
自动配置:pom.xml:spring-boot-dependencies:核心依赖在父工程中我们在写或者引入一些Springboot依赖的时候,不需要指定版本启动器:springboot的启动场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId>
2021-03-13 20:50:10
79
原创 声明式事务
1.回顾事务:要么都成功,要么都失败在项目开发中十分重要,涉及到数据的一致性问题确保完整性和一致性ACID原子性一致性隔离性: 多个业务可能操作同一个资源,防止数据损坏持久性: 事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久化的写到存储器中Spring中的事务管理声明式事务: AOP编程式事务: 需要在代码中进行事务的管理...
2021-03-13 20:46:31
43
原创 AOP
使用Spring实现AOP使用AOP注入,需要导入一个依赖包: <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> </dependency>方式一:使用Spring的API接口【主要是
2021-03-13 20:40:12
67
原创 代理模式
AOP的底层就是代理模式静态代理角色分析:抽象角色:一般会使用接口或者抽象类l来解决真实角色:被代理的角色代理角色:代理真实角色,代理之后一般会做一些附属操作客户:访问代理对象的人代码步骤:1.接口//租房public interface Rent { public void rent();}2.真实角色//房东public class Host implements Rent { @Override public void rent() {
2021-03-13 20:37:19
46
原创 使用java的方式配置spring
我们现在要完全不使用Spring的xml配置了,全权交给Java来做javaConfig是Spring的一个子项目,在Spring4之后它成为了核心功能实体类:@Componentpublic class User { @Value("戴") private String name; public String getName() { return name; } public void setName(String name) {
2021-03-13 20:34:39
100
原创 Spring中使用注解开发
在Spring4之后,要使用注解开发,必须要保证AOP的包导入了使用注解需要导入context约束增加注解的支持<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http
2021-03-06 19:25:08
71
1
原创 Bean的自动装配
自动装配是Spring满足bean依赖一种方式Spring会在上下文中自动寻找,并自动给bean装配属性在Spring中由三种装配方式1.在xml中显示配置2.在Java中显示配置3.隐式的自动装配bean测试:1.环境搭建 :一个人有两个宠物!ByName自动装配 <bean id="cat" class="com.dai.pojo.Cat"/> <bean id="dog" class="com.dai.pojo.Dog"/><!--
2021-03-06 19:21:57
114
原创 DI依赖注入
1.构造器注入:已经了解过2.Set方式注入:依赖注入:Set注入依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器来注入环境搭建:复杂类型public class Address { private String address; public String getAddress() { return address; } public void setAddress(String address) {
2021-03-06 19:17:09
85
原创 Spring配置
别名:<!-- 别名,如果添加了别名,我们也可以使用别名获取到这个对象--> <alias name="user" alias="userNew"></alias>Bean的配置:<!-- id:bean的唯一标识符,也就是相当于我们学的对象名 class:bean对象所对应的全限定名:包名+类型 name:也是别名,而且同时可以取多个别名--> <bean class="com.dai
2021-03-06 19:14:06
44
原创 IOC创建对象的方式
1.使用无参构造创建对象,默认方式2.如果要使用有参构造创建对象下标赋值:<bean id="user" class="com.dai.pojo.User"> <constructor-arg index="0" value="ddd"/></bean>类型:<!--第二种方式,通过类型创建,不推荐使用--> <bean id="user" class="com.dai.pojo.User"> <
2021-03-06 19:12:36
60
原创 IOC理论推导
1.UserDao 接口2.UserDaoImpl 实现类3.UserService 业务接口4.UserServiceImpl 业务实现类在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改源代码!如果程序代码量十分大,修改一次的成本代价十分昂贵我们使用一个Set接口实现 private UserDao userDao ; public void setUserDao(UserDao userDao) { this.userDa
2021-03-06 19:10:14
122
原创 Spring简介
Spring:春天------>给软件行业带来了春天!2002,首次推出了Spring框架的雏形: interface21框架!Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。Rod Johnson ,Spring Framework创始人,著名作者。 很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。spring理念: 使现有的技术更加容易使用
2021-03-06 19:06:22
131
原创 Mybatis缓存
1.什么是缓存[ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。2.为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。3.什么样的数据能使用缓存?经常查询并且不经常改变的数据。【可以使用缓存】Mybatis缓存:MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。MyB
2021-03-06 19:04:40
53
原创 Mybatis动态SQL
ifchoose (when, otherwise)trim (where, set)foreach搭建环境CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHAR(100) NOT NULL COMMENT '博客标题',`author` VARCHAR(30) NOT NULL COMMENT '博客作者',`create_time` DATETIME NOT NULL COMMENT '创
2021-03-06 19:01:40
71
原创 数据库一对多查询
环境搭建实体类:@Datapublic class Teacher { private int id; private String name; private List<Student> students;}@Datapublic class Student { private int id; private String name; //学生需要关联一个老师 private int tid;}按照结果嵌套处理:
2021-03-06 18:56:42
1058
2
原创 数据库多对一查询
SQL:CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '戴老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL,
2021-03-05 00:38:41
439
2
原创 Lombok
使用步骤:1.在IDEA中安装Lombok插件2.在项目中导入Lombok的jar包<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.18</version></dependency>3.在实体类上加注解@Getter and @Set
2021-03-05 00:24:48
147
1
原创 使用注解开发
1.注解在接口上实现@Select("select * from user") List<User> getUsers();2.需要在核心配置文件中绑定接口<mappers> <mapper class="com.dai.dao.UserMapper"/></mappers>3.测试本质:反射机制实现底层:动态代理CRUD:我们可以在工具类创建的时候实现自动提交事务 public static SqlSession g
2021-03-05 00:23:32
57
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人