1.MyBatis
*MyBatis是一款优秀的持久层框架,用于简化JDBC开发
*持久层
*负责将数据保存到数据库的那一层代码
*JavaEE三层架构:表现层、业务层、持久层
*框架
*框架是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
*在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
1.查询user表中所有数据
1.创建user表,添加数据
2.创建模块,导入坐标
3.编写MyBatis核心配置文件 --> 替换连接信息 解决硬编码问题
4.编写SQL映射文件 --> 同意管理sql语句,解决硬编码问题
5.编码
1.定义POJO类
2.加载核心配置文件,获取SqlSessionFactory对象
3.获取SqlSession对象,执行SQL语句
4.释放资源
2.解决SQL语句警告提示
3.Mapper代理开发
*目的:
1.解决原生方式中的硬编码
2.简化后期执行SQL
//执行sql
List<User> users = sqlSession.selectList("test.selectAll");
System.out.println(users);
//获取接口代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//执行方法
List<User> users = userMapper.selectAll();
*步骤:
1.定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
2.设置SQL映射文件的namespace属性为Mapper接口全限定名
3.在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
4.编码
1.通过SqlSession的getMapper方法获取Mapper接口的代理对象
2.调用对应方法完成sql的执行
*细节:
如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载
<mappers>
<!--加载sql的映射文件-->
<package name = "com.itheima.mapper"/>
</mappers>
4.MyBatis核心配置文件
*mybatis-config.xml
*配置时要遵循顺序
1.properties(属性)
2.settings(设置)
3.typeAliases(类型别名)
<typeAliases>
<package name="com.itheima.pojo"/>
</typeAliases>
4.typeHandlers(类型处理器)
5.objectFactory(对象工厂)
6.plugins(插件)
7.environment(环境配置):配置数据库连接环境信息,可以配置多个environment,通过defualt属性切换不同的environment
8.databasldProvider(数据库厂商标识)
9.mappers(映射器)