基于MyBatis框架的数据库访问技术

MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀框架,它将SQL语句写在XML文件中,实现SQL与Java代码的分离,简化开发和维护。本文介绍了MyBatis的基本概念、下载地址、整体结构以及工作流程,重点讲解了MyBatis主配置文件和SqlSessionFactory的构建。
摘要由CSDN通过智能技术生成

基于MyBatis框架的数据库访问技术

mybatis官方文档1

MyBatis 是?

我的巴迪斯

支持普通SQL查询、存储过程和高级映射的优秀持久层框架2

  • 可以将 SQL 语句写在在 XML 文件中
    使得 SQL 语句和 Java 代码实现了分离
    让开发人员精力集中在 SQL 语句上,方便系统的开发和维护。
  • 是对JDBC的封装
    自动连接数据库,将数据库的结果集封装到对象中POJO3

要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可

MyBatis 下载地址

  1. github.com/mybatis/mybatis-3
  2. 使用 Maven 构建项目
    则需将下面的依赖代码置于 pom.xml 文件中:
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

基于MyBatis框架并利用Maven构建项目时,访问MySQL数据库通常包含以下几个步骤: 1. **添加依赖**: 在`pom.xml`文件中添加MyBatis及其数据源(如Spring Boot集成的是JPA的HikariCP)的相关依赖: ```xml <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 如果使用Spring Boot,还需添加Spring Data JPA或Spring JDBC相关依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> ``` 2. **配置数据源**: Spring Boot项目中,可以在application.properties或application.yml文件里设置数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false spring.datasource.username=myuser spring.datasource.password=mypassword spring.jpa.hibernate.ddl-auto=update ``` 3. **创建Mapper接口**: 在`src/main/java`目录下,创建Mapper接口,例如UserMapper.java,它会映射到数据库表操作: ```java public interface UserMapper { List<User> getAllUsers(); User getUserById(@Param("id") int id); } ``` 4. **编写XML映射文件**: 创建mapper文件夹,如`src/main/resources/mapper/UserMapper.xml`,这里定义SQL语句和其对应的接口方法: ```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.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.entity.User"> SELECT * FROM users; </select> <select id="getUserById" parameterType="int" resultType="com.example.entity.User"> SELECT * FROM users WHERE id = #{id}; </select> </mapper> ``` 5. **注入和使用Mapper**: 在业务(Service、Controller等)中通过SqlSessionFactory获取Mapper实例并进行数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

adingable

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值