本篇文章是 “一起学习mysql” 系列的第四篇文章。上一篇文章中,介绍了直接使用jdbc原始api实现数据对mysql的持久化,可以让我们充分了解底层实现原理,但是在公司的实际业务开发中,很少这样用,主要原因在于效率低,而且不利于维护。
在真实的业务开发场景中,通常会使用对JDBC封装后的ORM框架,这些框架对使用者隐藏了底层的实现细节,只暴露出对开发者比较友好且效率较高的API。本篇文章将介绍一种常用的数据持久化框架——MyBatis,它以其灵活性和高度可定制性而闻名。
配置MyBatis
在开始使用MyBatis之前,我们需要进行一些配置:
-
添加MyBatis依赖:
在项目的pom.xml文件中,添加以下MyBatis依赖项:<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies>
-
配置MyBatis属性:
在项目的配置文件(如application.properties)中,添加MyBatis的相关属性配置:# 数据库连接配置 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=password # MyBatis配置 mybatis.config-location=classpath:mybatis-config.xml
-
创建MyBatis配置文件:
在resources目录下创建mybatis-config.xml文件,用于配置MyBatis的一些全局属性和设置:<?xml version="1.0" encoding="UTF-8" ?> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> </configuration>
步骤 2:编写Mapper接口和SQL语句
在使用MyBatis进行数据持久化之前,我们需要定义Mapper接口,并在其中编写SQL语句。
-
创建Mapper接口:
创建一个Java接口,用于定义数据库操作的方法。例如,我们可以创建一个名为"UserMapper"的接口:import com.example.model.User; public interface UserMapper { User getUserById(Long id); void addUser(User user); void updateUser(User user); void deleteUser(Long id); }
-
配置Mapper映射:
在mybatis-config.xml文件中,添加Mapper的映射配置:<?xml version="1.0" encoding="UTF-8" ?> <configuration> <mappers> <mapper class="com.example.mapper.UserMapper" /> </mappers> </configuration>
步骤 3:使用MyBatis进行数据访问
一旦配置完MyBatis和Mapper接口的映射,我们就可以使用MyBatis进行数据访问了。
以下是一些示例代码,展示了如何使用MyBatis执行数据库操作:
-
查询数据:
@Autowired private UserMapper userMapper; public User getUserById(Long id) { return userMapper.getUserById(id); }
-
插入数据:
@Autowired private UserMapper userMapper; public void addUser(User user) { userMapper.addUser(user); }
-
更新数据:
@Autowired private UserMapper userMapper; public void updateUser(User user) { userMapper.updateUser(user); }
-
删除数据:
@Autowired private UserMapper userMapper; public void deleteUser(Long id) { userMapper.deleteUser(id); }
安装以上步骤操作一路操作下来,想必你已经学会了如何使用MyBatis进行MySQL数据持久化。MyBatis提供了一种灵活且可定制的方式来处理数据库操作,让Java应用程序与数据库之间的交互更加便捷。在后续的学习中,我们将继续学习java应用操作mysql的一些高级玩法。