MyBatis——初识MyBatis与原生接口使用

MyBatis就是一个ORM(Object Relation Mapping)框架。在以前我们可能会用Java自带的JDBC,可是JDBC代码太冗余了,MaBatis对JDBC做了一个封装,提高我们的效率。具体是怎么提高效率的呢?MyBatis将SQL写在XML文件中,将其与Java代码分离,降低了耦合度,提高开发效率。

所以根据上述简单理解,MyBatis使我们的程序可以动态的编写XML文件,并提供映射标签,支持了对象与数据库字段的一一映射。

SqlSession

SqlSession就是MaBatis里Java程序与数据库打交道的那个切入口,这个类又创建它的工厂SqlSessionFactory通过openSession产生,而SqlSessionFactory则是由它的建造者SqlSessionFactoryBuilder通过build方法构建而出
SqlSessionFactoryBuilder -> SqlSessionFactory -> SqlSession

我们开发都是调用SqlSession的各种API进行开发。

在pom文件里导入下面依赖,Mabatis环境就算搭建成功了

    <dependencies>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.4.5version>
        dependency>

        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.48version>
        dependency>
    dependencies>

接下来我们搞出这样一张叫做mybatis_account的表和下面这个对应的DO类,所有的前置工作我们就做完了。
MyBatis——初识MyBatis与原生接口使用_第1张图片
MyBatis——初识MyBatis与原生接口使用_第2张图片
接下来进入MyBatis的环节

创建Mybatis配置文件

我们在resources -> mybatis目录下创建mybatis-config.xml文件

<?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>
<!--    注意如果用SpringBoot,这些配置都可以用@Configuration类来写,这里面只用配置mapper就行
        所以下面的环境配置可以写成这样
        @Configuration
        public class TransactionManagerConfig {

            @Bean(name="environment1")
            public PlatformTransactionManager TransactionManager1(@Qualifier("dataSource1") DataSource dataSource1) {
                return new DataSourceTransactionManager(dataSource1);
            }

            @Bean(name="environment2")
            public PlatformTransactionManager TransactionManage2r(@Qualifier("dataSource2") DataSource dataSource2) {
                return new DataSourceTransactionManager(dataSource2);
            }
        }

-->

<!--    如果我们有多个数据库这里就可以配置多个数据源,然后在default-->
    <environments default="MyBatisLearning">
        <environment id="MyBatisLearning">
<!--            配置当前环境的事务管理-->
            <transactionManager type="JDBC"></transactionManager>
<!--            数据源,也就是要跟哪个数据库链接-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/tx"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

如何使用Mybatis写SQL语句

Mybatis有两种使用方式,第一个是使用原生接口,第二个是使用自定义的mapper代理(这个文件俗称mapper.xml)。在开发中我们需要对每一个DO写这样的mapper.xml,方便我们对每一个DO进行SQL操作。

Mapper.xml

重点介绍一下Mapper里的重要标签
, , ,