一、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 的核心概念: 1. **配置文件**:...
MyBatis的入门学习主要包括以下几个方面: 1. 什么是MyBatis? MyBatis是一款优秀的持久层框架,其设计目标之一是减少JDBC代码的手动设置和结果集的检索工作。它提供了两种主要的API,分别是基于XML的配置和注解的...
本项目源代码是针对Mybatis的基础学习,旨在帮助初学者深入理解Mybatis的工作原理和用法。 首先,我们需要了解Mybatis的核心组件。Mybatis 包括配置文件、映射文件、SqlSession对象和Mapper接口。配置文件(通常为...
MyBatis是一款强大的Java持久层框架,它将SQL与...通过这份“MyBatis入门到精通”的学习资料,新手可以系统地学习MyBatis的基础知识,理解其核心概念,并逐步掌握实际项目中的应用技巧,从而成为熟练的MyBatis开发者。
MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...
在本教程中,我们将深入探讨如何使用Spring Boot与MyBatis框架进行开发,...这四个技术的结合,为开发者提供了一个快速开发后台管理系统的基础框架。通过深入理解和实践,你可以进一步扩展功能,满足更多复杂的需求。
在这个基础学习中,我们将深入探讨MyBatis的核心概念、配置以及实际操作,旨在帮助初学者快速上手。 首先,了解MyBatis的基本架构是非常重要的。MyBatis由SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession...
本资源集合是针对MyBatis入门学习者设计的,涵盖了MyBatis的基本概念、核心功能以及实际应用。 首先,我们需要了解MyBatis的基本概念。MyBatis是一个基于Java的持久层框架,它提供了灵活的SQL映射机制,将SQL语句与...
初学者可以看看
在三天的Mybatis入门学习过程中,主要涉及以下几个关键知识点: 1. **配置文件**:Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含了数据库连接信息、映射文件位置、设置等重要信息。你需要理解...
描述中提到“mybatis所需要的包”,这暗示了压缩包可能包含了MyBatis框架的基础库,如mybatis-x.x.x.jar,以及可能的依赖包,如log4j、slf4j等日志处理库,还有可能包含数据库驱动,如mysql-connector-java.jar,...
【MyBatis学习笔记一】——MyBatis入门demo.zip 博客地址:https://blog.csdn.net/weixin_43817709/article/details/117370755
【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...
至于".txt"文件,如"学习(五)用到的表.txt"、"学习(五、六)用到的表.txt"、"快速入门(一)用到的表.txt"很可能是为了配合教程示例,列出了相关联的数据库表结构,帮助读者更好地理解查询语句的上下文。...
这篇博客“【MyBatis入门】—— MyBatis日志”旨在帮助初学者理解如何在MyBatis中配置和使用日志功能,以便于调试和优化应用程序。 在MyBatis中,日志系统对于跟踪SQL语句和参数,以及检查执行效率至关重要。...
【Mybatis基础入门学习笔记】 Mybatis是一款广泛使用的Java持久层框架,它的主要目标是简化对数据库的操作,提供更加灵活的SQL映射机制。Mybatis起源于Apache组织的ibatis框架,历经发展,在2010年迁移到Google ...
本入门基础案例 "mybatis入门基础案例demo" 是为了帮助初学者理解并掌握 MyBatis 的基本使用方法。在这个案例中,我们将涉及以下几个关键知识点: 1. **MyBatis 环境搭建**: - 首先需要在项目中引入 MyBatis 的 ...
MyBatis-Plus是基于MyBatis框架的增强工具,它在MyBatis的基础上做了很多自动化处理,减少了开发工作量,提升了开发效率。MyBatis-Plus主要包含实体类、Mapper接口、XML映射文件和配置文件四大部分。 2. **基本...