2021-07-23
一.英文
和–Sum
差–difference
积–product
商–quotient
加–addition
减–subtraction
乘–multiplication
除–division
二、DML与DDL的含义:
1、DML(Data Manipulation Language)数据操作语言-数据库的基本操作-增删改查,关键字有:select、update、delete、insert、merge
注:MERGE语句是SQL语句的一种。在SQLServer、Oracle数据库中可用,MySQL、PostgreSQL中不可用。MERGE是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表(原数据表,source table)或子查询的连接条件对另外一张(目标表,target table)表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。
这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
2、DDL(Data Definition Language)数据定义语言-用于定义和管理 SQL 数据库中的所有对象的语言,对数据库中的某些对象(例如,database,table)进行管理。包括的关键字有:
create、alter、drop、truncate、comment、grant、revoke
3、DML与DDL的区别:
1).DML操作是可以手动控制事务的开启、提交和回滚的。
2).DDL操作是隐性提交的,不能rollback!
三、MySQL中时间函数NOW()和SYSDATE()的区别
NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间。
因为NOW()取自mysql的一个变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,因此在整个语句执行过程中都不会变化。
执行:SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()
先查询了NOW()和SYSDATE(),然后sleep了3秒,再查询NOW()和SYSDATE(),结果如下:
MySQL自增和默认日期建表语句:
id
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘key’,
create_time
datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘create time’,
四、扫描注解包
1.spring.xml内添加,扫描该包下所有注解类:
<context:component-scan base-package=“com.itheima.spring.demo1”/>
2.用注解表示类:
@Component组件(作用在类上):
@Controller :WEB 层
- @Service : 业务层
- @Repository :持久层
属性注入注解:
@Value :用于注入普通类型.
@Autowired :自动装配:
- 默认按类型进行装配.
- 按名称注入:
- @Qualifier:强制使用名称注入.
@Resource 相当于: - @Autowired 和@Qualifier 一起使用.
3.@Autowired 注入为空原因:
某个类中的成员,如果是采用@Autowired注入Spring Bean,则当前类的实例,必须也是Spring Bean才能成功注入,即该实例不能用new xxx()来获得,这种方式获得的实例无法调用@Autowired注入的Bean,应该也采用@Autowired注入,注意在类上使用@Component注解。
其他注入失败的原因,“SpringBoot项目的Bean装配默认规则是根据项目入口类Application类所在的包位置从上往下扫描!这个类的位置很关键:如果Application类所在的包为:com.boot.app,则只会扫描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,则不会被扫描!
即, 要把Application类放到dao、service所在包的上级
或者在启动类上加上@ComponentScan注解显式标明要扫描的位置。
4.java方法废弃注解@Deprecated