MyBatis学习笔记1
一、MyBatis介绍
1. MyBatis是一款优秀的持久层框架,用于简化JDBC开发
(1)JavaEE有三层架构:表现层、业务层、持久层
【1】表现层:注重页面展示的那一层代码
【2】业务层:处理业务逻辑的那一层代码
【3】持久层:负责将数据保存到数据库的那一层代码
(2)框架
框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型在框架的基础之上构建软件编写更加高效、规范、通用、可扩展。
2. MyBatis官网
https://mybatis.org/mybatis-3/zh/index.html
3. 传统的JDBC的缺点
传统jdbc代码如下
(1)硬编码
一些字符串是写好了,比如密码,用户名,注册驱动,获取连接的SQL语句都是一次性写死了,后期修改维护很麻烦
(2)操作繁琐
需要手动设置参数,打问号,后面参数一多,又得一行一行的写;此外还得手动封装查询的结果集
4. MyBatis优化JDBC的地方
(1)硬编码
MyBatis将硬代码写入xml配置文件中
比如优化连接数据库部分的硬代码
比如优化sql语句
(2)操作繁琐
之前需要手动获取封装结果集,现在Mybatis一行代码自动完成之前的工作
执行selectlist语句,参数为要查询的条件信息,查询后返回一个User对象的集合。
二、MyBatis快速入门
1. 修改数据库连接信息
2. 编写sql语句的xml文件
3.sql语句文件映射
4. 编写结果集对应的类
使用快捷键(alt+鼠标左键可以全部右边选中)
5. 写mybatis核心测试类
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<User> users = sqlSession.selectList("TT.selectAll");
System.out.println(users);
//4. 关闭资源
sqlSession.close();
}