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"/>
案例:
注意名字要规范
查询结果返回多条结果:
查询所有管理员的信息