emp

SpringBoot2.x版本整合Redis进行数据缓存

旧巷老猫 提交于 2019-11-28 10:23:15
项目放在github: 在缓存开发中,有两个重要的接口: 在这里面: @Cacheable: 如果用这个注解标注在方法上,那么方法的结果就会被缓存存起来,这个多用于在查询的时候进行使用 比如: public user getuser(Integer id) 这个方法用这个注解标注的话,通过id查到的内容就会杯存在缓存中进行保存,如果下次在进行查同样id的信息的话,直接从缓存中进行调取就行了,大大减少了大系统的数据库的负担 @CacheEvict: 如果用这个注解标注在方法的话,就会把对应的缓存进行删除,这个注解多用于再删除的模块上,再删除数据的时候,将对应的缓存也进行删除 @CachePut: 更新缓存,在更新的时候,多用到 比如:public User updadeuer(User user)这样的方法,就是将之前的信息进行修改,并且进行提交,这个缓存机制也是,在更新之后,将缓存的数据信息也进行更新 @EnableCacheing:要想使用注解,就得启用注解的模式,并且还有key,和value的的对应关系问题 在我们进行缓存项目创建的时候,我们要选中cache的缓存模块,将自动导入我们想要的缓存的依赖 并且要导入redis的依赖,才能使用,否则会报错: <dependency>   <groupId>org.springframework.boot</groupId>   

小菜鸟之数据库

拈花ヽ惹草 提交于 2019-11-28 08:39:50
数据库复习提纲之文字版(这个只是自己整理文案,答案是查的,勿喷,谢谢,希望给别人一些帮助) 1 、 Oracle和 SQL server2005的区别 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是 甲骨文公司 的一款 关系数据库管理系统 。 它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 sql server数据库:美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的 数据库管理系统 ,实现了与WindowsNT的有机结合,提供了基于 事务 的企业级信息管理系统方案 两者的区别: (1)操作的平台不同 Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。   但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性

mybatis

别来无恙 提交于 2019-11-28 06:42:26
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm jdbc.username=root jdbc.password=root <?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> <!-- <properties> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> </properties> --> <!-- <properties>:设置或引入资源文件 resource:在类路径下访问资源文件 url:在网络路径或磁盘路径下访问资源文件 --> <properties resource="jdbc.properties"></properties> <settings> <!-- 将下划线映射成驼峰,user_name映射为userName --> <setting name="mapUnderscoreToCamelCase"

SQLSERVER SQL性能优化

一世执手 提交于 2019-11-28 06:32:30
1.选择最有效率的表名顺序(只在基于规则的优化器中有效)      SQLSERVER 的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,必须选择记录条数最少的表作为基础表,当 SQLSERVER 处理多个表时,会运用排序及合并的方式连接它们,    首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行排序;然后扫描第二个表(FROM子句中最后第二个表);最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并    例如: 表 TAB1 16,384 条记录表 TAB2 5 条记录,选择TAB2作为基础表 (最好的方法) select count(*) from tab1,tab2 执行时间0.96秒,选择TAB2作为基础表 (不佳的方法) select count(*) from tab2,tab1 执行时间26.09秒; 如果有3个以上的表连接查询,那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表      例如:    EMP表描述了LOCATION表和CATEGORY表的交集    SELECT *    FROM LOCATION L,    CATEGORY C,    EMP E  

MySQL 多表查询

烈酒焚心 提交于 2019-11-28 06:15:57
多表查询 创建两张表 # 创建表 create table dep( id int, name varchar(20) ); ​ create table emp( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male', age int, dep_id int ); # 插入记录 insert into dep values (200,'技术'), (201,'人力资源'), (202,'销售'), (203,'运营'); ​ insert into emp(name,sex,age,dep_id) values ('jason','male',18,200), ('egon','female',48,201), ('kevin','male',38,201), ('nick','female',28,202), ('owen','male',18,200), ('jerry','female',18,204) ; ​ # 当初我们把表分开是为了放标管理,在硬盘上确实是多张表,但是到了内存中我们应该吧他们在拼成一张表尽心查询才合理 表查询 select * from emp,dep; # 左表(emp)一条记录与右表(dep

总结三十三

为君一笑 提交于 2019-11-28 06:04:36
基本查询语句及方法   from   where   group by   having   distinct   order by   limit 前期表准备 ```mysql create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', #大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), post_comment varchar(100), salary double(15,2), office int, #一个部门一个屋子 depart_id int ); #插入记录 #三个部门:教学,销售,运营 insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values ('jason','male',18,'20170301','张江第一帅形象代言',7300.33,401,1), #以下是教学部 ('egon','male',78,'20150302',

基本查询语句和方法,连表,子查询

廉价感情. 提交于 2019-11-28 04:15:29
基本查询语句及方法   from, where, group by, having, distinct, order by, limit 连表   inner join, left join, right join, union 书写顺序   select id,name from emp where id > 3 and id < 6; 执行顺序   from # 确定到底是哪张表 where # 根据过来条件 筛选数据 select # 拿出筛选出来的数据中的某些字段   select * from emp\G; 当表字段特别多的时候 结果的排版可能会出现混乱的现象 你可以在查询语句加\G来规范查询结果   # 1.查询id大于等于3小于等于6的数据   select * from emp where id >= 3 and id <= 6;   select * from emp where id between 3 and 6;   上述语句完全等价 # 2.查询薪资是20000或者18000或者17000的数据   select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000;   select id,name from emp where salary in (20000

索引及explain

北城以北 提交于 2019-11-28 04:14:20
索引好比书的目录。通过索引能快速的定位到一条数据。 在MySQL中除了B+树索引之外,还有一些其他的索引类型。比如:全文索引、(DB和DD索引叫R树索引)。在MySQL cluster中是P树索引,memory引擎中用的是哈希索引。Oracle中的位图索引在MySQL中是没有的。 百分之九十五的时间在跟B+树索引打交道。用的最多的就是B+树索引。 指向下一层的指针就叫做扇出(fanout) B+树索引在物理上不一定是有序的例如:插入了28,有可能就会排在30的后面。 在逻辑上是有序的,是通过指针来保证逻辑上有序的,页内数据是有序的,页与页之间也是有序的。 show index from orders\G **********************1.row************************ Table: orders Non_unique: 0    -- 表示是唯一的 Key_name: PRIMARY   -- key的name是primary Sql_in_index: 1 Column_name: o_orderkey Collation: A Cardinality: 1417233    -- 基数,这个列上不重复值的数值 Sbu_part: NULL Packed: NULL Null: Index_type: BTREE    --

表的查询

北城余情 提交于 2019-11-28 04:12:25
表的查询 >>> 思维导图 >>> 中二青年 单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', # 大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), post_comment varchar(100), salary double(15,2), office int, # 一个部门一个屋子 depart_id int ); # 插入记录 # 三个部门:教学,销售,运营 insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values ('jason','male',18,'20170301','张江第一帅形象代言',7300.33,401,1), # 以下是教学部 ('egon','male',78,'20150302','teacher',1000000.31,401,1), ('kevin','male',81,

单表查询

北城以北 提交于 2019-11-28 04:12:23
单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), post_comment varchar(100), salary double(15,2), office int, depart_id int ); # 插入数据 # 三个部门:教学,销售,运营 insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values ("jaosn","male",18,"20170301","张江第一帅形象代言",7300.33,404,1), ("egon","male",78,"20150302","teacher",1000000.31,401,1), ("kevin","male",81,"20130305","teacher",8300,401,1), ("tank","male",73,