MyBatis学习笔记总结(含抽象工厂模式)

MyBatis核心组件
1:SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成
SqlSessionFactory,采用的是分布构建的Builder模式
2:SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用的是工厂模式,只构造一次,及数据库连接池
3:SqlSession(会话):一个既可以发送SQL执行结果,也可以获取Mapper的接口。一般我们会让其在业务逻辑代码中消失,而使用的是MyBatis提供的SQL Mapper接口编程技术,它能提高代码的可读性和可维护性
4:Sql Mapper(映射器):MyBatis新设计存在的组件,它有一个JAVA接口和XML文件或是注解构成,需要给出对应的SQL和映射规则,它负责发送SQL去执行,并返回结果

MyBatis的基础配置文件:官方PDF中可以复制修改

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- environment描述数据库 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置事务管理器 -->
            <transactionManager type="JDBC"/>
            <!-- 采用数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mytest"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 映射配置文件的路径,代表引入哪些映射器 -->
    <mappers>
        <mapper resource="mapper/usersMapper.xml"></mapper>
        <!--<mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
     </mappers>
 </configuration>

通过XML构建SqlSessionFactory:首先读取mybatis.xml,通过SqlSessionFactoryBuilder中的Build方法去创建SsqlSessionFactory。

String resource = "mybatis.xml";
InputStream is = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

核心接口SqlSession的实现:SqlSession的作用类似于一个JDBC中的connection对象,代表着一个连接资源的启用,作用如下:
1:获取mapper接口
2:发送SQL给数据库
3:控制数据库事务

//打开和数据库之间的会话
SqlSession session = factory.openSession();
List<Users> ulist = session.selectList("usersList");
for (Users user : ulist){
    System.out.println(user);
}
session.close();

**映射器MyBatis:**它由一个接口和对应的xml文件组成,它可以配置以下内容:
1:描述映射规则
2:提供SQL语句,并可以配置SQL参数类型、返回类型、缓存刷新等信息
3:配置缓存
4:提供动态SQL
!映射器的主要作用就是将SQL查询到的结果映射为一个POJO,或者将POJO的数据插入到数据库中,通过XML创建过程如下:(创建的XML需要在mybatis配置文件中的mapper下)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.damu.entity.Users">
    <select id="usersList" resultType="com.damu.entity.Users">
            select * from users
    </select>
</mapper>

代码解释:namespace为所映射的实体类所在包地址,id标识了这条SQL语句,resultType代表返回的类型,Mybatis在默认情况下提供自动映射,只要SQL返回的列名能和POJO对应起来。

在这里插入图片描述

抽象工厂设计模式:
在这里插入图片描述

ORM模式:
在这里插入图片描述

创建MAVEN项目:
第一步:导入安装
在这里插入图片描述
在这里插入图片描述
第二步:创建完成后找需要得依赖,比如:mysql,mybatis
通过查找网站https://mvnrepository.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第三步:创建相应配置
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43912883/article/details/86424990
今日推荐