MyBatis快速入门

网友投稿 544 2022-10-19

MyBatis快速入门

MyBatis快速入门

一、MyBatis介绍

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

二、MyBatis安装

2.1 Maven项目

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中

org.mybatis mybatis 3.5.5

2.2 JAR包安装

要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于lib中,并导入项目即可。

三、Mybatis功能架构

Mybatis功能架构分为三层:

API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。

四、快速Demo

在数据库中创建表,添加数据创建模块,导入坐标

pom.xml:

编写SQL映射文件 ---> 统一管理sql语句,解决硬编码问题

resource/com.laccoliths.mapper/PetSystemMapper.xml

编码

定义POJO类

main/java/com.laccoliths.pojo/Pet.java

package com.laccoliths.pojo;/** * @author Laccoliths */public class Pet { private String id; private String name; private String gender; private String age; private String varieties; private String symptom; private String isCure; private String clientName; private String doctorName; 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; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getVarieties() { return varieties; } public void setVarieties(String varieties) { this.varieties = varieties; } public String getSymptom() { return symptom; } public void setSymptom(String symptom) { this.symptom = symptom; } public String getIsCure() { return isCure; } public void setIsCure(String isCure) { this.isCure = isCure; } public String getClientName() { return clientName; } public void setClientName(String clientName) { this.clientName = clientName; } public String getDoctorName() { return doctorName; } public void setDoctorName(String doctorName) { this.doctorName = doctorName; } public Pet(String id, String name, String gender, String age, String varieties, String symptom, String isCure, String clientName, String doctorName) { this.id = id; this.name = name; this.gender = gender; this.age = age; this.varieties = varieties; this.symptom = symptom; this.isCure = isCure; this.clientName = clientName; this.doctorName = doctorName; } @Override public String toString() { return "Pet{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", gender='" + gender + '\'' + ", age='" + age + '\'' + ", varieties='" + varieties + '\'' + ", symptom='" + symptom + '\'' + ", isCure='" + isCure + '\'' + ", clientName='" + clientName + '\'' + ", doctorName='" + doctorName + '\'' + '}'; }}

b. 加载核心配置文件,获取SqlSessionFactory对象

main/java/com.laccoliths/MyBattisDemo.java

// 新建Demo类String resources = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

c. 获取SqlSession对象,执行SQL语句

// 获取SqlSession对象,用它来执行Sql语句SqlSession sqlSession = sqlSessionFactory.openSession();List pets = sqlSession.selectList("PetMapper.selectPetAll");for (Object pet : pets) { System.out.println(pet.toString());}

d. 释放资源

sqlSession.close();

完整Demo源码:

package com.laccoliths;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;import java.util.List;/** * @author Laccoliths */public class MyBatisDemo { public static void main(String[] args) throws IOException { // 加载Mybatis核心配置文件,获取SqlSessionFactory String resources = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resources); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 获取SqlSession对象,用它来执行Sql语句 SqlSession sqlSession = sqlSessionFactory.openSession(); List pets = sqlSession.selectList("PetMapper.selectPetAll"); for (Object pet : pets) { System.out.println(pet.toString()); } sqlSession.close(); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CrossPHP- 轻量的PHP开发框架
下一篇:spring boot自带的page分页问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~