`
wudalang_gd
  • 浏览: 9731 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MyBatis入门学习

 
阅读更多

一、Mybatis简介

MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

二、Mybatis使用入门

(1)准备开发所需jar包

(2)添加Mybatis的配置文件conf.xml

   在src目录下创建一个conf.xml文件,如下图所示:

conf.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>
    <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/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="XDP" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <!-- 注册userMapper.xml文件, 
        userMapper.xml位于mapping这个包下,所以resource写成mapping/userMapper.xml-->
        <mapper resource="apping/userMapper.xml"/>
    </mappers>
    
</configuration>

(3)定义表所对应的实体类,如下图所示:

User类的代码如下:

package model;

/**
 * @author wb
 * users表所对应的实体类
 */
public class User {

    //实体类的属性和表的字段名称一一对应
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

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

(4)定义操作users表的sql映射文件userMapper.xml,如下图

userMapper.xml文件的内容如下:

<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
mapping(包名)+userMapper(userMapper.xml文件去除后缀)
 -->
<mapper namespace="mapping.userMapper">
    <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
    使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
    resultType="model.User"就表示将查询结果封装成一个User类的对象返回
    User类就是users表所对应的实体类
    -->
    <!-- 
        根据id查询得到一个user对象
     -->
    <select id="getUser" parameterType="int" 
        resultType="model.User">
        select * from users where id=#{id}
    </select>
</mapper>


(5)在conf.xml文件中注册userMapper.xml文件(已经在第二步注册了)如下:

(5)编写测试类

package test;

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

import model.User;

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

public class Test {
	  public static void main(String[] args) throws IOException {
	        //mybatis的配置文件
	        String resource = "conf.xml";
	        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
	        InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
	        //构建sqlSession的工厂
	        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
	        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
	        //Reader reader = Resources.getResourceAsReader(resource); 
	        //构建sqlSession的工厂
	        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
	        //创建能执行映射文件中sql的sqlSession
	        SqlSession session = sessionFactory.openSession();
	        /**
	         * 映射sql的标识字符串,
	         * me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
	         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
	         */
	        String statement = "mapping.userMapper.getUser";//映射sql的标识字符串
	        //执行查询返回一个唯一user对象的sql
	        User user = session.selectOne(statement, 1);
	        System.out.println(user);
	    }

}


因电脑数据库原因,未建表,效果就不演示了,主要了解如何配置和理解myBatis的执行流程。


分享到:
评论

相关推荐

    mybatis入门学习的完整项目代码

    本项目"mybatis入门学习的完整项目代码"旨在为初学者提供一个完整的 MyBatis 学习环境,帮助理解 MyBatis 的基本概念、配置以及如何在实际项目中应用。 首先,我们要了解 MyBatis 的核心概念: 1. **配置文件**:...

    mybatis入门学习资料

    MyBatis的入门学习主要包括以下几个方面: 1. 什么是MyBatis? MyBatis是一款优秀的持久层框架,其设计目标之一是减少JDBC代码的手动设置和结果集的检索工作。它提供了两种主要的API,分别是基于XML的配置和注解的...

    mybatis基础学习项目源代码

    本项目源代码是针对Mybatis的基础学习,旨在帮助初学者深入理解Mybatis的工作原理和用法。 首先,我们需要了解Mybatis的核心组件。Mybatis 包括配置文件、映射文件、SqlSession对象和Mapper接口。配置文件(通常为...

    MyBatis入门到精通

    MyBatis是一款强大的Java持久层框架,它将SQL与...通过这份“MyBatis入门到精通”的学习资料,新手可以系统地学习MyBatis的基础知识,理解其核心概念,并逐步掌握实际项目中的应用技巧,从而成为熟练的MyBatis开发者。

    MyBatis入门.pdf

    MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...

    springBoot_Mybatis入门学习

    在本教程中,我们将深入探讨如何使用Spring Boot与MyBatis框架进行开发,...这四个技术的结合,为开发者提供了一个快速开发后台管理系统的基础框架。通过深入理解和实践,你可以进一步扩展功能,满足更多复杂的需求。

    MyBatis 基础学习

    在这个基础学习中,我们将深入探讨MyBatis的核心概念、配置以及实际操作,旨在帮助初学者快速上手。 首先,了解MyBatis的基本架构是非常重要的。MyBatis由SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession...

    mybatis入门级资源

    本资源集合是针对MyBatis入门学习者设计的,涵盖了MyBatis的基本概念、核心功能以及实际应用。 首先,我们需要了解MyBatis的基本概念。MyBatis是一个基于Java的持久层框架,它提供了灵活的SQL映射机制,将SQL语句与...

    MyBatis基础学习笔记

    初学者可以看看

    Mybatis入门三天源码

    在三天的Mybatis入门学习过程中,主要涉及以下几个关键知识点: 1. **配置文件**:Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含了数据库连接信息、映射文件位置、设置等重要信息。你需要理解...

    MYBATIS学习资料文件

    描述中提到“mybatis所需要的包”,这暗示了压缩包可能包含了MyBatis框架的基础库,如mybatis-x.x.x.jar,以及可能的依赖包,如log4j、slf4j等日志处理库,还有可能包含数据库驱动,如mysql-connector-java.jar,...

    【MyBatis学习笔记一】——MyBatis入门demo.zip

    【MyBatis学习笔记一】——MyBatis入门demo.zip 博客地址:https://blog.csdn.net/weixin_43817709/article/details/117370755

    mybatis入门程序

    【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...

    Mybatis入门资源

    至于".txt"文件,如"学习(五)用到的表.txt"、"学习(五、六)用到的表.txt"、"快速入门(一)用到的表.txt"很可能是为了配合教程示例,列出了相关联的数据库表结构,帮助读者更好地理解查询语句的上下文。...

    【MyBatis入门】—— MyBatis日志

    这篇博客“【MyBatis入门】—— MyBatis日志”旨在帮助初学者理解如何在MyBatis中配置和使用日志功能,以便于调试和优化应用程序。 在MyBatis中,日志系统对于跟踪SQL语句和参数,以及检查执行效率至关重要。...

    java资源之Mybatis基础入门学习笔记

    【Mybatis基础入门学习笔记】 Mybatis是一款广泛使用的Java持久层框架,它的主要目标是简化对数据库的操作,提供更加灵活的SQL映射机制。Mybatis起源于Apache组织的ibatis框架,历经发展,在2010年迁移到Google ...

    mybatis入门基础案例demo

    本入门基础案例 "mybatis入门基础案例demo" 是为了帮助初学者理解并掌握 MyBatis 的基本使用方法。在这个案例中,我们将涉及以下几个关键知识点: 1. **MyBatis 环境搭建**: - 首先需要在项目中引入 MyBatis 的 ...

    mybatis-plus学习项目笔记

    MyBatis-Plus是基于MyBatis框架的增强工具,它在MyBatis的基础上做了很多自动化处理,减少了开发工作量,提升了开发效率。MyBatis-Plus主要包含实体类、Mapper接口、XML映射文件和配置文件四大部分。 2. **基本...

Global site tag (gtag.js) - Google Analytics