Mybatis学习1.0
https://blog.csdn.net/DDDDeng_/article/details/106927021
https://www.cnblogs.com/renxuw/p/13047424.html

代码演示
1、搭建实验数据库
2、导入MyBatis相关 jar 包
创建父工程 ————> 删除src文件
创建父工程的好处:

3、编写MyBatis核心配置文件
增删改查方法
注意:增删改查一定要提交事务,查不需要
- session.commit(); //提交事务,重点!不写的话不会提交到数据库
模糊查询

配置解析
核心配置文件
-
mybatis-config.xml
-
Mybatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。
- MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:

- MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:
-
环境配置(environments)
- MyBatis 可以配置成适应多种环境
- 尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
事务管理器(transactionManager)
- 在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]"):
JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。
MANAGED – 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。然而一些容器并不希望连接被关闭,因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为。例如:
提示:如果你正在使用 Spring + MyBatis,则没有必要配置事务管理器,因为 Spring 模块会使用自带的管理器来覆盖前面的配置。
数据源(dataSource)


默认是POOLED


Mybatis默认的事务管理器是JDBC,连接池:POOLED
属性(properties)
- 我们可以通过properties属性来实现引用配置文件:
- 这些属性可以在外部进行配置,并可以进行动态替换。既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置 【dp.properties】

- 可以直接引入外部文件 dp.properties
- 可以在其中增加一些属性配置
- 如果两个文件有同一个字段,优先使用外部配置文件的
类型别名(typeAliases)
- 类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置.
- 意在降低冗余的全限定类名书写。
- 可以给实体类起别名 类型别名 typeAliases
<!--可以给实体类起别名-->
<typeAliases>
<typeAlias type="com.szy.pojo.User" alias="User"/>
</typeAliases>
- 也可以指定一个包名,Mybatis会在包名下搜索需要的Java Bean,比如扫描实体类的包,它的默认别名就是这个类的 类名,建议:首字母小写
<!--可以给包起别名-->
<typeAliases>
<package name="com.kuang.pojo"/>
</typeAliases>
在实体类比较少的时候,使用第一种方式。
如果实体类十分多,建议用第二种扫描包的方式。
第一种可以DIY别名,第二种不行,如果非要改,需要在实体上增加注解。
//对于上面第三句话的实例
@Alias("author")
public class Author {
...
}
设置(settings)


映射器(mappers)
- MapperRegistry:注册绑定我们的Mapper文件
- 既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文件。 你可以使用相对于类路径的资源引用,或完全限定资源定位符(包括 file:/// 形式的 URL),或类名和包名等。

方式一:【推荐使用】
<!--每一个Mapper.xml都需要在MyBatis核心配置文件中注册-->
<mappers>
<mapper resource="com/szy/dao/UserMapper.xml"/>
</mappers>
方式二:使用class文件绑定注册
<!--每一个Mapper.xml都需要在MyBatis核心配置文件中注册-->
<mappers>
<mapper class="com.szy.dao.UserMapper"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名
- 接口和他的Mapper配置文件必须在同一个包下
方式三:使用包扫描进行注入(注意点和方式二相同)
<mappers>
<package name="com.szy.dao"/>
</mappers>
- 练习


浙公网安备 33010602011771号