1.mybatis的优点,好处。
mybatis是一个持久层的框架,隐藏jdbc 繁杂的API。 方便对数据库进行操作。
通过xml配置文件或注解。
ORM映射解决表和实体类的问题。
在原始jdbc操作上,避免了代码重复,数据库频繁的连接和创建(浪费资源),sql语句的耦合性,可维护性。手动映射。
2.入门步骤
1.导入依赖,sql连接的,mybatis的。
2.建表,写类。
3.映射文件,核心配置文件。
核心文件里面配置数据源,加载映射文件。
4.测试。获取核心文件,获取sqlsession对象。
namespace,命名空间。
resultType,就是sql查询到的结果,封装到了实体类里面。
测试:
3.映射文件
位置:在resource的mapper包,叫法:UserMapper.xml
映射文件中,id和方法名一致。
namespace和接口全限定名一致。
<mapper?>里面写sql,核心配置文件里面注册mapper.xml
4.核心配置文件
sqlMapConfig.xml,一般配置数据源,和注册映射文件。
5.多表查询
1.一对一
手动映射的两种方式:
结果:
2.一对多
3.多对多
6.动态SQL
复杂业务逻辑用,条件成立才执行。
sql片段抽取:sql语句中重复的片段
7.注解开发
映射在接口中映射,多表查询
8.缓存
我们编写的系统一般都是查询系统(查询的操作比增删改要多很多)。对于不怎么经常变化的数据,如果多次向数据库进行查询,那么就会增加数据库服务器的负担,运行效率不高。
最好的解决方案就是将这些不怎么经常变化的数据缓存起来,重复利用,提升查询效率。
mybatis有内置的缓存机制,目的就是为了提升查询效率。
先去缓存查询结果集,没有就去数据库查。有缓存走缓存。
9.延迟加载
https://blog.csdn.net/weixin_44588495/article/details/91828755
10.问题
1.#{}和¥{}的区别
2.结果集映射的方式有几种?怎么用?
3.单个参数和多个参数如何传递?
sql语句中,一般插入的属性值时,#{id}
多个的时候,用@Param