提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Mybatis之入门使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
MyBatis 是一个优秀的持久层框架,它简化了数据库操作,提高了开发效率。在这篇博客中,我将带领你入门 MyBatis,了解如何使用它来操作数据库。
通过阅读这篇博客,你将了解到 MyBatis 的基本概念和架构,以及如何使用 MyBatis 创建映射文件、配置数据源和进行数据库操作。
无论是刚开始学习 MyBatis,还是已经有一定经验的开发者,这篇博客都将为你提供一个清晰的指导,帮助你更好地理解和使用 MyBatis。让我们一起开始 MyBatis 的学习之旅吧!
提示:以下是本篇文章正文内容,下面案例可供参考
1.准备好数据库,建立表,这里大家自行创建
2.创建maven工程,引入依赖
<dependencies>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
3.在resources目录下创建mybatis核心配置文件SqlMapConfig.xml
<?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="mysql">
<environment id="mysql">
<!-- 事务类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
4.将log4j.properties文件放入resources中,让控制台打印SQL语句。
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE debug info warn error fatal
log4j.rootCategory=debug, CONSOLE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
#log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{MM/dd HH:mm:ss}] %-6r [%15.15t] %-5p %30.30c %x - %m\n
5.创建实体类
public class User {
private int id;
private String username;
private String sex;
private String address;
// 省略getter/setter/构造方法/toString方法
}
1.在java目录创建持久层接口
public interface UserMapper {
List<User> findAll();
}
2.在resource目录创建映射文件。需要注意的是映射文件要和接口名称相同,例如假如接口名称为UserMapper,则映射文件的名称则为UserMapper.xml。映射文件要和接口的目录结构相同,例如接口的目录为com.zhangsan.UserMapper,则映射文件的目录则为,com.zhangsan.UserMapper.xml。
<?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">
<mapper namespace="com.zhangsan.mapper.UserMapper">
<select id="findAll" resultType="com.zhangsan.pojo.User">
select * from user
</select>
</mapper>
其中:
@Test
public void testFindAll() throws Exception {
// (1)读取核心配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
// (2)创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// (3)SqlSessionFactoryBuilder对象获取SqlSessionFactory对象
SqlSessionFactory factory = builder.build(is);
// (4)SqlSessionFactory对象获取SqlSession对象
SqlSession session = factory.openSession();
// (5)SqlSession对象获取代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);
// (6)代理对象执行方法
List<User> all = userMapper.findAll();
all.forEach(System.out::println);
// (7)释放资源
session.close();
is.close();
}
其中:
注意:后面关于Mybatis的讲解,将不再进行环境的准备
提示:这里对文章进行总结:
在本博客中,我们深入探讨了 MyBatis 这个强大的 ORM(对象关系映射)框架,学习了如何使用它来简化数据库操作。我们首先了解了 MyBatis 的基本架构和工作原理,包括映射文件、配置文件和 SQL 映射语句的概念。
然后,我们逐步引导读者完成了创建映射文件、配置数据源以及执行增删改查操作的过程。通过实际示例,读者可以更好地理解如何将实体类与数据库表进行映射,以及如何使用 MyBatis 提供的查询语句和参数传递功能。
总而言之,通过本博客,读者对 MyBatis 有了全面的了解,并掌握了使用它进行数据库操作的基本技能。无论是刚接触 MyBatis 的新手还是希望进一步提升技能的开发者,都能从本博客中获得有价值的信息。