栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis 入门1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis 入门1

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号