MyBatis的基本使用方法

MyBatis是什么

这里就引用一下,Mybatis官方文档的定义,来简单说明一下Mybatis的整体作用:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

如何使用

普通Java项目使用Mybatis

这里就不再赘述了,官方文档里面有保姆级别的介绍,大家可以去参考,地址是:https://mybatis.net.cn/getting-started.html

Spring使用Mybatis

  1. 引入Maven配置
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.7</version> </dependency>
  1. 创建DB配置文件
db.driverClass=com.mysql.jdbc.Driver db.url=jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC db.username=root db.password=root
  1. applicationContenxt.xml中增加配置加载
<context:property-placeholder location="classpath:db.properties"/>
  1. applicationContenxt.xml中初始化数据源
<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${db.driverClass}"/> <property name="url" value="${db.url}"/> <property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/> </bean>
  1. applicationContenxt.xml中创建sqlSessionFactory,并指定mapper xml位置
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="datasource"/> <property name="mapperLocations" value="classpath*:com/vinson/learn/dao/**/*.xml"/> </bean>

applicationContenxt.xml中指定mapper位置

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.vinson.learn.dao"/> </bean>

其中,Mapper和其对应的代码如下:

package com.vinson.learn.dao; import com.vinson.learn.bean.User; import org.apache.ibatis.annotations.Param; public interface UserDao { // @Select("select * from user where name = #{name}") User getByName(@Param("name") String name); void addUser(User user); }
<?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.vinson.learn.dao.UserDao"> <insert id="addUser"> insert into user(name,age) values (#{name}, #{age}) </insert> <select id="getByName" resultType="com.vinson.learn.bean.User"> select * from user where name = #{name} </select> </mapper>
  1. 目录结构如下:

  2. 如果需要开启注解事务的可以,参照如下方式,applicationContenxt.xml中增加:

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <constructor-arg ref="datasource" /> </bean> <tx:annotation-driven transaction-manager="transactionManager"/>
  1. 代码中的使用方式是:
@Autowired private UserDao userDao; @Transactional(rollbackFor = Exception.class) @Override public User getUserByName() { User user = userDao.getByName("mike"); //....省略.....

SpringBoot使用Mybatis

  1. 首先使用IDEA创建一个SpringBoot项目
  2. 引入相关的jar
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency>
  1. 增加数据库的配置:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root
  1. Mapper文件上,增加@Mapper注解,其它业务代码就和Spring的保持一致了
@Mapper public interface UserDao { // ...省略 ...

相比使用Spring的时候,方便了不是一点点!!!!

常用的标签


__EOF__

本文作者Vinson
本文链接https://www.cnblogs.com/vinson-zhang/p/16635614.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Vinson-zhang  阅读(237)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示