美文网首页
mybatis入门

mybatis入门

作者: testtest | 来源:发表于2018-02-01 00:02 被阅读0次

什么是 MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Mybatis入门

代码结构

代码结构.PNG
  1. 首先需要mybatis的配置文件(mybatis-config.xml),XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)


    mybatis-config.PNG
dbconfig.PNG
  1. POJO
package com.beans.mybatis.demmo.pojo;

public class User {
    
    private String id;
    
    private String name;
    
    public User() {
        super();
    }

    public User(String id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + "]";
    }
}

  1. dao层接口
package com.beans.mybatis.demmo.dao;

import com.beans.mybatis.demmo.pojo.User;

public interface UserDao {
    
    User selectUserById(String id) throws Exception;

}
  1. dao层实现
package com.beans.mybatis.demmo.dao;

import java.io.IOException;

import com.beans.mybatis.demmo.pojo.User;
import com.beans.mybatis.demmo.utils.SqlSessionFactoryUtils;

public class UserDaoImpl implements UserDao {

    @Override
    public User selectUserById(String id) throws Exception {
        //通过namespace中的值+id的值组合起来作为key
        User user = SqlSessionFactoryUtils.getSqlSession().selectOne("aa.selectUserById", id);
        
        //通过getMapper方式查询
        //UserDao dao = SqlSessionFactoryUtils.getSqlSession().getMapper(UserDao.class);
        //User user = dao.selectUserById(id);
        return user;
    }

}

  1. 映射文件
<?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="aa"><!-- 如果使用getMapper则namespace的值必须是dao层接口的名称(本例中为UserDao ),如果不使用,那么namespace值可以随意取值,一般需要取和该dao相关的-->
    <!-- 如果使用getMapper则id的值必须是dao层接口中的方法名称,如果不是,则可以随意取值,但还是希望取值时和方法名一样 -->
    <select id="selectUserById" resultType="com.beans.mybatis.demmo.pojo.User">
        select * from user where id = #{id}
    </select>
</mapper>
  1. 获取sqlSession的方法
package com.beans.mybatis.demmo.utils;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class SqlSessionFactoryUtils {
    
    
    public static SqlSession getSqlSession() throws IOException
    {
        String confPath = "conf/mybatis-config.xml";
        InputStream stream = Resources.getResourceAsStream(confPath);
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(stream);
        SqlSession sqlSession = sessionFactory.openSession();
        return sqlSession;
    }

}

总结

mybatis的配置文件中需要注意:

  1. 配置数据源
  2. 引入xml映射文件

xml映射文件中需要注意:

  1. namespace 如果使用getMapper方式,该值就必须是dao层接口的类名,否则,随意。
  2. id 如果使用getMapper方式,该值就必须是dao层类中方法名,否则,随意。

相关文章

  • MyBatis

    MyBatis学习总结(一)——MyBatis快速入门 超详细MyBatis入门讲解

  • 深入浅出Mybatis-Mybatis-Generator

    目录 入门 Mybatis Generator 是什么 Mybatis Generator是Mybatis的代码生...

  • Mybatis的入门

    一.Mybatis介绍 二.Mybatis的架构 三.Mybatis入门程序开发 下载mybatis 导包核心+依...

  • Mybatis快速入门

    Mybatis 学习内容 Mybatis框架的简单入门 Mybatis框架基本的使用 Mybatis框架的深入和多...

  • MyBatis之快速入门

    title: MyBatis之快速入门tags: MyBatiscategories: MyBatis 若图片无法...

  • 1.Mybatis - 搭建

    参考 Mybatis 官方 MyBatis学习总结(一)——MyBatis快速入门 安装 说明基于Maven 步骤...

  • Intellij 第三章 测试Spring整合MyBatis

    0、如需查看Spring整合MyBatis知识请访问 MyBatis入门【十二】 Spring整合MyBatis基...

  • Mybatis源码解读

    Mybatis入门 Mybatis构成 SqlSessionFactoryBuilder(构造器):根据配置信息或...

  • Mybatis入门

    目的:入门,熟悉mybatis是什么,怎么用。 1. 初识Mybatis 1.1 Mybatis介绍 MyBati...

  • MyBatis入门 Day10 2018-11-28

    MyBatis mybatis-3.4.6 jdk1.8+ 一、mybatis入门 1.依赖jar包 pom.xm...

网友评论

      本文标题:mybatis入门

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