JavaWeb学习--MyBatis框架介绍与快速入门
2022/1/23 1:34:20
本文主要是介绍JavaWeb学习--MyBatis框架介绍与快速入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
什么是MyBatis?
MyBatis是一款优秀的持久层框架,用于简化JDBC开发
MyBatis 本是Apache的一个开源项目iBatis, 2010年这个项目由apache softwarefoundation 迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github
官网: https://mybatis.org/mybatis-3/zh/index.html
什么是持久层?
JavaEE三层架构:
- 表现层
- 业务层
- 持久层
负责对数据进行持久化的,将数据保存到数据库的那一层代码被称为持久层
表现层:负责做页面展示的代码
业务层:负责做逻辑处理的代码
什么是框架?
框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
为什么用MyBatis?JDBC有什么缺点
硬编码:许多代码如获取连接,SQL语句会根据业务需求更改而更改,需求一变,全部重写
操作繁琐:手动设置参数,手动封装结果
MyBatis简化
对于硬编码进行配置文件关联,将其写到配置文件中去
对于操作繁琐:MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作
快速入门
1.创建user表,添加数据
create database mybatis; use mybatis; drop table if exists tb_user; create table tb_user( id int primary key auto_increment, username varchar(20), password varchar(20), gender char(1), addr varchar(30) ); insert into tb_user values (1,'zhangsan','123','男','北京'); insert into tb_user values (2,'李四','234','女','天津'); insert into tb_user values (3,'王五','11','男','西安');
2.创建模块,导入坐标
安装
要使用MyBatis,只需将mybatis-x.x.x.jar文件置于类路径(classpath)中即可。
如果使用Maven来构建项目,则需将下面的依赖代码置于pom.xml文件中:
<dependencies> <!--maven导入mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency> </dependencies>
同时导入其他一些jar包配置文件:mysql(数据库),junit(测试),logback(打印日志)
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.20</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> </dependencies>
3.编写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.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="1234"/> </dataSource> </environment> </environments> <mappers> <!--加载SQL映射文件--> <mapper resource="UserMapper.xml"/> </mappers> </configuration>
4.编写SQL映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!--sql映射文件--> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:名称空间 --> <mapper namespace="test"> <!--id:唯一标识符 resulttype:POJO类类型 需要写一个User的class类--> <select id="selectAll" resultType="User"> select * from tb_user; </select> </mapper>
5.编码
- 5.1定义POJO类
User类
public class User { private Integer id; private String username; private String password; private String gender; private String addr; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", gender='" + gender + '\'' + ", addr='" + addr + '\'' + '}'; } }
- 5.2-5.4在MyBatisDemo类中写main方法
分别去加载mybatis的核心配置文件
获取sqlsession对象
和执行sql
最后释放资源
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; /** * 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<User> users = sqlSession.selectList("test.selectAll"); System.out.println(users); //4.释放资源 sqlSession.close(); } }
最后控制台中打印的users如下
这篇关于JavaWeb学习--MyBatis框架介绍与快速入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南