第一章:ORM
ORM:object relation mapping
javaBean: 编写sql–>预编译–>设置参数–>执行sql–>封装结果--------:DBRecords
1、JDBC(简单)
2、Hibernate框架:(全自动框架)将sql那一条流程封装起来,缺点:开发人员无法修改sql语句,不够灵活
3、Mybatis框架:(半自动框架)Sql与java编码分离;sql是开发人员控制
原始连接方式:driverManager,比较麻烦,每次都要重新连接,资源空间消耗巨大
优化链接方式:DataSource:内置封装了一个连接池,多个connection,每次创建datasource都会自动创建多个connections,而与数据库的断开链接并不是真正意义上的断开,而是一个中间层,还存在链接,可以继续提供给其他对象使用。
步骤:
1、配置pom依赖
2、创建mybatis-config配置文件
3、创建Mapper接口
4、创建Mapper接口配置文件,该文件的包名需要和mapper接口一致,其中包含sql语句,具体对应mapper接口中的抽象方法
测试步骤:
1、加载核心配置文件:mybatis-config; InputStream is = Resources.getResourceAsStream(“mybatis-config.xml”)
2、获取SqlSessionFactoryBuilder:SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
3、创建SqlSessionFactory:SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(is);
4、获取SqlSession:SqlSession sqlSession=sqlSessionFactory.openSession(true);
5、使用sqlSession的getMapper方法创建Mapper接口的对象:UserMapper mapper=sqlSession.getMapper(UserMapper.class);
6、调用Mapper接口中对数据库的操作方法:int result = mapper.insertUser();
7、sqlSession提交事务:sqlSession.commit();
查询标签必须设置reslutType 和resultMap
reslutType:设置默认的映射关系;默认的实体类的属性和数据库表的字段相同;
resultMap:设置自定义的映射关系;当字段和属性名不相同时可以自定义;
查询一个条记录,方法返回类型为实体类对象;
查询多条记录,方法返回类型为集合对象;
核心文件配置之properties:设置外部文件输入$
第二章:获取参数值
Mybatis获取参数值的两种方式:${} 和 #{}
单个字面量参数:
1、#{}方式
2、 方 式 : 此 方 式 需 要 加 上 单 引 号 ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 9 c 80 c b c 632 a 343929827458 d f c f e 9 b 65. p n g ) 多 个 字 面 量 参 数 : ⋅ 若 m a p p e r 接 口 中 的 方 法 参 数 为 多 个 时 , 此 时 M y B a t i s 会 自 动 将 这 些