根据老师上课内容,自己对于学习的整理
Axios优化 回调地狱发送第一个ajax请求之后得到的结果当作第二个ajax的参数...
回调地狱:由于Ajax不断的嵌套,导致代码的耦合性高,不便于维护
解决方案:将Ajax的请求变为一行
let arg1 = axios.get(xxx)
let arg2 = axios.get(xxx)
let arg3 = axios.get(xxx)
具体实现 回调地狱优化-async-await
规则:1.async控制同步异步 标识函数
2.await标识Ajax请求 需要配合async一起使用
async function saveUser(){
let user = {id:100,name:"jack"}
let promise = await axios.post("/axios/saveUser",user)
}
//调用函数
saveUser()
箭头函数
let user = {id:200,name:"箭头函数!!!"}
//普通方法
axios.post("/axios/saveUser",user)
.then(function(promise){
console.log(promise.data)
})
//箭头函数
axios.post("/axios/saveUser",user)
// .then(promise => { 当只有一个参数时可以省略括号
.then((promise) =>{
console.log(promise.data)
})
Mybatis
JDBC
//利用jdbc,完成新增的功能
private static void method2() throws Exception{
//1,注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2,获取数据库的连接
//数据传输协议 数据库的ip 端口号 数据库名
String url = "jdbc:mysql://localhost:3306/cgb2107";
Connection c = DriverManager.getConnection(url,"root","root");
//3,获取传输器
Statement s = c.createStatement();
//4,利用传输器执行 增删改的SQL
//executeUpdate()用来执行增删改的SQL,只返回影响行数
int rows = s.executeUpdate(
"INSERT INTO emp(ename,job) VALUES('rose','副总')");
//5,释放资源
//r.close();//结果集
s.close();//传输器
c.close();//连接
}
使用JDBC的方式去操作数据库,开发效率低,但是JDBC的效率时最高的
Mybatis在内部封装了JDBC代码,简化了用户的操作步骤
官网:mybatis – MyBatis 3 | 简介
MyBatis介绍:
MyBatis时一款优秀的持久层框架(与数据库连接),支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码一级设置参数和获取结果集的工作。MyBatis可以通过简单的XML和注解来配置和映射原始类型、接口和Java POJO为数据库中的记录
持久化:将内存中的数据保存到磁盘的过程
持久层:利用Mybatis操作代码Mapper/Dao实现数据的持久化
高级映射:对象与数据表——映射
对象中的属性与数据表中的字段——映射
简化操作 将JDBC代码进行简化,从对象的角度考虑问题,实现数据操作(面向对象的方式操作数据库)
Mybatis是持久层框架,内部整合了JDBC,以对象的方式操作数据库。
LOMBOK注解@Data
//自动生成Getter,Setter,RequiredArgsConstructor(可以理解为无参构造),toString,EqualsAndHashCode,Value方法
@NoArgsConstructor
//无参构造
@AllArgsConstructor
//全参构造
@Accessors(chain = true)
//开启链式加载
Mybatis导入jar包
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0
mysql
mysql-connector-java
org.projectlombok
lombok
application.yml文件时SpringBoot的配置文件
连接数据库
#1.配置端口号 注意缩进!!!!!
server:
port: 8090
#2.配置数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver 高版本的路径需要在mysql和jdbc中间添加cj
url: jdbc:mysql://127.0.0.1:3306/库名? serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
#yml文件 0不解析 如果字母以0开头则引号包裹
#password: "0123456"
password: root
@Mapper
1.将接口交给Mybatis管理,之后将mybatis交给spring管理
2.动态代理机制 为接口创建代理对象 Map(userMapper,代理对象)
3.接口和实现类,所有的sql写到映射文件中
编辑UserMapper.xml映射文件(类似实现类)
删除
Spring整合Mybatis(application.yml文件)
#3.配置Mybatis
mybatis:
#定义别名包
type-aliases-package: 对象地址
#将所有的映射文件全部加载
mapper-locations: classpath:/mappers/*.xml 检测所有的yml文件
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
#4.打印Sql 需要打印目标下的Sql日志
logging:
level:
需要打印的目标: debug
日志级别:
日志级别_日志级别记录规范_weixin_39897218的博客-CSDN博客
@SpringBootTest
标记类为SpringBoot测试类,只启动Spring容器不启动服务器



