Mybatis超详细学习笔记(一)小白入门HelloWorld

举报
Code皮皮虾 发表于 2021/08/25 21:50:54 2021/08/25
【摘要】 Mybatis超详细学习笔记(一)小白入门HelloWorld

1、简介

Mybatis官方文档
Mybatis下载地址

什么是 MyBatis?

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


2、入门HelloWorld

2.1、基础环境搭建

1.导入jar包
在这里插入图片描述


2.创建数据库,数据表

在这里插入图片描述
建表语句

CREATE TABLE `t_employee` (
  `id` int(11) NOT NULL,
  `empname` varchar(50) NOT NULL,
  `gender` int(11) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

3.写出对应的实体类及dao
Employee

public class Employee {

	private Integer id;
	private String empName;
	private String email;
	private Integer gender;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getEmpName() {
		return empName;
	}
	public void setEmpName(String empName) {
		this.empName = empName;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Integer getGender() {
		return gender;
	}
	public void setGender(Integer gender) {
		this.gender = gender;
	}

	
}

EmployeeDao

public interface EmployeeDao {
	
	//按照员工id查询员工
	public Employee getEmpById(Integer id);
}

4.写配置

4.1: mybatis的全局配置文件,指导mybatis如何正确运行,比如丽娜姐向那个数据库

<?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.cj.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/mybatis0325?serverTimezone=Asia/Shanghai&amp;useSSL=true" />
				<property name="username" value="数据库账号" />
				<property name="password" value="密码" />
			</dataSource>
		</environment>
	</environments>
	<!-- 引入我们自己编写的每一个接口的实现文件 -->
	<mappers>
		<!-- resource:表示从类路径下找资源 -->
		<mapper resource="mybatis/EmployeeDao.xml" />
	</mappers>
</configuration>

4.2: 编写每一个方法都如何向数据库发送sql语句,如何正确执行。。像防御接口的实现类

<?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">

<!-- namespace:名称空间;写接口的全类名,相当于告诉Mybatis这个配置文件是实现哪个接口的 -->
<mapper namespace="com.dong.dao.EmployeeDao">

	<!-- select:用来定义查询操作 -->
	<!-- 
		id写方法名,相当于对某个方法的实现 
		resultType:指定方阿飞运行后的返回值类型(擦汗寻操作必须指定)
		#{id}:取出传递过来的某个参数的值
	-->
	<select id="getEmpById" resultType="com.dong.bean.Employee">
		select * from t_employee where id = #{id}
	</select>
</mapper>

5.项目整体结构
在这里插入图片描述


2.2、测试HelloWorld

测试

@Test
publicvoid test() throws IOException {
	//1、根据全局配置文件创建出一个SqlSessionFactory
	//SqlSessionFactory:是SqlSession工厂,负责创建SqlSession对象
	//SqlSession:sql会话(代表和数据库的一次会话)
	String resource = "mybatis-config.xml";
	InputStream inputStream = Resources.getResourceAsStream(resource);
	SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
	
	Employee empById;
	//获取和数据库的一次会话:getConnection()
	SqlSession openSession = sqlSessionFactory.openSession();
	try {
		//使用SqlSession操作数据库,获取dao接口的实现
		EmployeeDao mapper = openSession.getMapper(EmployeeDao.class);
		empById = mapper.getEmpById(1);
	} finally {
		//关闭连接
		openSession.close();
	}
	System.out.println(empById);
}

在这里插入图片描述


2.3、如何再xml文件中有提示(eclipse)

下载好Mybatis后使用压缩软件打开里面的mybatis的jar包,如下图,解压出方框的文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在xml文件按住Alt+/即可看见提示
在这里插入图片描述


觉得博主写的不错的读者大大们,可以点赞关注和收藏哦,谢谢各位!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。