欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Mybatis入门1

时间:2023-07-02

根据老师上课内容,自己对于学习的整理

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映射文件(类似实现类)

<?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容器不启动服务器

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。