当前位置: 首页 > news >正文

java框架--Mybatis 1

目录

一.概念

二.mybatis

1.简介

1)背景介绍

2)mybatis介绍

2.mybatis搭建

(1)创建一个maven项目

(2)导入mybatis依赖的jar

(3)创建MyBatis全局配置文件

(4)创建需要的数据库ssmdb,创建表,准备数据

(5)创建一个访问接口,定义方法

(6)创建接口对应的sql映射文件,编写sql

(7)测试MyBatis

①读取配置文件

②创建SqlSessionFactory

③创建SqlSession

④获得接口代理对象

⑤拿到结果

3.搭建补充

(1)在idea中安装mybatisX插件

(2)数据库连接池

(3)为类配置别名

(4)接口与映射文件对应关系

(5)简单封装

(6)传递参数

①单个参数传递

②多个参数传递

4.单元测试

5.增删改查

1)新增

(1)数据库事务:

(2)保存数据后端,需要立课拿到这条数据在数据库的主键

2)删除

3)修改

6.结果查询

1)简单类型输出映射

2)对象映射

查询结果返回多条结果:

三.spring

四.linux


一.概念

框架就是对技术的封装,将基础的技术进行封装,让程序员可以快速的使用,提高开发效率

java后端框架

1.mybatis:对jdbc进行封装

2.spring:对整个Java后端架构进行管理的

   springweb:对web层(select)进行封装

   springboot:对spring框架的搭建进行封装

3.linux操作系统

   mysql

   redis

   docker

开发好的项目部署到linux环境

二.mybatis

1.简介

1)背景介绍

mybatis原来是apache下面的一个开源项目,名为ibatis.2010年开发团队转移到谷歌旗下,改名为mybatis。

2)mybatis介绍

mybatis是一个优秀的数据持久层框架(dao层,称为数据访问层 或 数据持久层)。

mybatis是对jdbc进行的封装,避免了jdbc中手动设置参数,手动映射结果的操作。

mybatis将jdbc中的接口进行封装,提供了它自己的类和接口实现。

mybatis可以使用xml配置和注释的方法,将数据库中记录自动映射到java对象中,是一种ORM实现(对象关系映射),将可以自动将数据映射到对象中的这种框架,也称为orm框架。

mybatis还提供了动态sql 和 数据缓存。

2.mybatis搭建

(1)创建一个maven项目

(2)导入mybatis依赖的jar

(3)创建MyBatis全局配置文件

①创建mybatis.xml

②配置数据库链接相关信息

(4)创建需要的数据库ssmdb,创建表,准备数据

(5)创建一个访问接口,定义方法

创建AdminDao,实现查询数据库信息的目标:

创建模型类:

(6)创建接口对应的sql映射文件,编写sql

在resources文件夹中创建文件夹mappers,再创建一个普通文件AdminMapper.xml

(7)测试MyBatis

创建test包,创建Test1进行测试,把接口(AdminDao)中对应的sql(AdminMapper)调用。需要在model下Admin类中重写toString方法,在mybatis.xml中注册映射文件。

①读取配置文件

Reader reader = Resources.getResourceAsReader("mybatis-config.xml");

②创建SqlSessionFactory

SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

③创建SqlSession

SqlSession sqlSession = sessionFactory.openSession();

④获得接口代理对象

sqlSession.getMapper(接口.class);

sqlSession .close();关闭

⑤拿到结果

3.搭建补充

(1)在idea中安装mybatisX插件

(2)数据库连接池

链接数据库,每次访问数据的时候,创建一个Connection,用完关闭。但是访问量大了后,每次都要创建新的连接对象,用完关闭,比较耗时。

使用数据库连接池,在池(集合)中事先创建一些连接对象,用户访问时,就直接在池中获取一个连接对象,用完不销毁,还回到池中,这样就减少频繁创建销毁连接对象。

配置日志:

<settings><setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

(3)为类配置别名

可以直接将model的包名配置,在映射文件中使用model包中的类时直接写简称。

(4)接口与映射文件对应关系

(5)简单封装

原来代码:

简单封装后:

(6)传递参数

①单个参数传递

②多个参数传递

两个参数:

将参数封装在对象中:

4.单元测试

以方法为单位测试,使用junit组件实现单元测试

5.增删改查

1)新增

sqlSession.commit();//提交数据库事务
(1)数据库事务:

是数据库的一种管理机制,是对一次链接数据库过程的管理,要保证一次操作中执行的多条sql,要么都成功执行,要么都不执行
案例:
转账--1.先从A账户减钱 sql1
         其他代码逻辑(可能出现异常)
         2.再向B账户加钱 sql2
   提交事务   数据库才会真正的在数据库执行这一操作中的多条sql

新增、修改、删除完毕后,都需要手动提交事务

(2)保存数据后端,需要立课拿到这条数据在数据库的主键

2)删除

3)修改

第一步

第二步

第三步

6.结果查询

1)简单类型输出映射

返回管理员个数,根据账号查询管理员id

2)对象映射

单表查询,返回的结果,mybatis可以自动将一条记录映射到java对象中
要求:表中的列名与类中的属性名 一致

<setting name="mapUnderscoreToCamelCase" value="true"/>

案例:

注意名字要规范

查询结果返回多条结果:

查询所有管理员的信息

三.spring

四.linux


http://www.mrgr.cn/news/91544.html

相关文章:

  • Java和SQL测试、性能监控中常用工具
  • 代码随想录算法【Day49】
  • 【SQL】SQL多表查询
  • Django 美化使用ModelForm的输入框
  • java听书项目
  • SolidWorks速成教程P3-7【零件 | 第七节】——3D设计打印手机支架+草图文本草图图片材质与质量属性测量
  • uni-app发起网络请求的三种方式
  • electron下载文件,弹窗选择下载路径,并通知下载进度
  • c# -01新属性-模式匹配、弃元、析构元组和其他类型
  • Linux驱动学习(二)--字符设备
  • docker修改镜像默认存储路径(基于 WSL2 的迁移方法)
  • Ubuntu20.04安装IsaacSim4.5与IsaacLab2.0
  • 2015年下半年试题二:论软件系统架构风格
  • wps中的js开发
  • Web后端 Tomcat服务器
  • 15. 三数之和(LeetCode 热题 100)
  • Flutter
  • 【亚马逊开发者账号02】终审问题SA+review_Pre-review+Doc.xlsx
  • 单元测试方法的使用
  • 力扣 跳跃游戏 II