根据老师上课内容,自己对于学习的整理
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)})
MybatisJDBC
//利用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包
#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映射文件(类似实现类)
<?xml version="1.0" encoding="UTF-8" ?>
Spring整合Mybatis(application.yml文件)
#3.配置Mybatismybatis: #定义别名包 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容器不启动服务器