学到web开发,为了简化数据库的一系列操作,orm框架是必不可少的,看过我博客的都知道我会Django和Flask,在总结他们的时候,也提到了python中Django和Flask中的一些orm框架,那么这节我将介绍java web中的orm框架MyBatis,简化我们的JDBC开发!(简单来说MyBatis是半orm框架,因为sql还要自己写)
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
当前,最新版本是MyBatis 3.5.11,其发布时间是2022年09月18日。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
查询表中所有数据!
主要步骤:
下面我们就按照步来吧:
1.创建一个案例表,向其中添加数据!
CREATE TABLE member (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
gender ENUM('男', '女'),
age INT
);
-- 插入数据
INSERT INTO member (name, gender, age)
VALUES
('张三', '男', 28),
('李四', '女', 22),
('王五', '男', 30),
('赵六', '女', 25);
我们创建一个maven项目来引入mybatis的jar包!(不用Maven,则需要将MyBatis的jar包加入类路径)
关于MyBatis的jar包引入信息可以去MyBatis的官网查看!
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.11version>
dependency>
当然,我们要连接数据库,mysql的驱动也少不了!
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.31version>
dependency>
3. 编写MyBatis核心配置文件–>替换连接信息解决硬编码问题
接下来就要创建一个xml文件作为MyBatis的核心配置文件了!
关于这个配置文件怎么写,按照MyBatis指定的复制,然后替换信息即可!
4. 编写SQL映射文件–>统一管理sql语句,解决硬编码问题
接下来就要编写sql映射文件了!MyBatis依旧有示例!
同时要在MyBatis核心配置文件中将SQL映射文件加载进来!
5. 编码
我们要先创建一个Member类(POJO)!
完全与开始创建的数据库表对应!
就是一个java Bean(快捷键生成get和set方法以及重写toString)
然后编写测试类:
package com.aniu;
import com.aniu.pojo.Member;
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:Aniu
* @Date:2023/3/25 22:04
* @description MyBatis快速入们
*/
public class MyBatisDemo {
public static void main(String[] args) throws IOException {
//1. 加载mybatis的核心配置文件,获取 SqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2. 获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//3. 执行sql (只有这块需要手写,其他步骤直接复制)
List<Member> members = sqlSession.selectList("test.selectAll"); // 命名空间+id,这就是命名空间的作用:便于区分
System.out.println(members);
//4. 释放资源
sqlSession.close();
}
}
本节只是简单的总结了MyBatis的使用,后面还有很多知识点,关注本专栏,下节再看!
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
系列专栏
flask框架入门到实战
软磨 css
硬泡 javascript