美文网首页
Mybatis 持久层框架

Mybatis 持久层框架

作者: 33d31a1032df | 来源:发表于2017-05-14 17:50 被阅读86次

简介

MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。

  • 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
  • 可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs映射成数据库中的记录。

使用

第一步:创建mybatis-config.xml文件,配置数据源,包括链接,用户名,密码

<configuration>
    <properties resource="config.properties" />

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${database.driver}"/>
                <property name="url" value="${database.url}"/>
                <property name="username" value="${database.username}"/>
                <property name="password" value="${database.password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

第二步:创建MybatisConfig类,用于获取SqlSessionFactory工厂类

public class MybatisConfig {
    private static SqlSessionFactory sessionFactory;

    public static SqlSessionFactory getSessionFactory() {
        if (sessionFactory == null) {
            InputStream inputStream = getResource();
            sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }
        return sessionFactory;
    }

    private static InputStream getResource() {
        try {
            String resource = "mybatis-config.xml";
            return Resources.getResourceAsStream(resource);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

第三步:创建UserMapper接口,供Service调用

public interface UserMapper {
    public User getById(@Param("id") Long id);
}

第五步:创建UserMapper映射文件,用于访问数据库

<mapper namespace="com.example.mapper.UserMapper">
    <resultMap id="user" type="com.example.model.User">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="account" column="account" jdbcType="VARCHAR"/>
        <result property="password" column="password" jdbcType="VARCHAR"/>
    </resultMap>

    <select id="getById" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>

第五步:mybatis-config.xml中添加UserMapper.xml映射

<configuration>

    ...

    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

第六步:测试

public class MapperTest {
    @Test
    public void test() throws Exception {
        SqlSessionFactory sessionFactory = MybatisConfig.getSessionFactory();
        SqlSession session = sessionFactory.openSession();

        UserMapper userMapper = session.getMapper(UserMapper.class);
        User user = userMapper.getById(1L);
        System.out.println(user);

        session.close();
    }
}

完整示例:GitHub
PS:本文使用的是mybatis-3.4.4

相关文章

  • mybatis入门

    MyBatis框架-倪升武 标签: MyBatis 持久层 mybatis的执行流程 mybatis框架是一个持久...

  • 【mybatis xml】数据层框架应用--Mybatis 基于

    使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。 M...

  • 【mybatis annotation】数据层框架应用--Myb

    使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。 M...

  • 三步手写mybatis,直击优秀开源框架灵魂

    Mybatis 介绍: 框架的作用: Mybatis是一个数据持久层框架(dao层),数据持久化,将数据从内存中存...

  • Spring Boot 中集成 MyBatis

    MyBatis 介绍 MyBatis 框架是一个持久层框架,是 Apache 下的顶级项目。Mybatis 可以...

  • MyBatis框架的设计思想

    设计思想 MyBatis框架工作在应用程序的数据访问层(持久化层的框架),使用了MyBatis框架后,数据访问层通...

  • MyBatis入门

    MyBatis 快速入门 简介&操作步骤 MyBatis是一款优秀的持久层框架,用于简化JDBC的开发 持久层 负...

  • MyBatis

    MyBatis MyBatis,是一个基于Java的持久层框架。持久层: 可以将业务数据存储到磁盘,具备长期存储能...

  • 一,MyBatis介绍

    一,MyBatis介绍: MyBatis是优秀的持久层框架(通过DAO类再结合mybatis框架让我们快速完成增删...

  • 第六章 初识Mybatis

    什么是Mybatis Mybatis是一个支持普通SQL查询、存储过程、高级映射的持久层框架 Mybatis框架也...

网友评论

      本文标题:Mybatis 持久层框架

      本文链接:https://www.haomeiwen.com/subject/xjiqxxtx.html