Mybatis超详细学习笔记(一)小白入门HelloWorld
【摘要】 Mybatis超详细学习笔记(一)小白入门HelloWorld
1、简介
什么是 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&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)