整合MyBatis操作

前面一篇提到了SpringBoot整合基础的数据源JDBC、Druid操作,实际项目中更常用的还是MyBatis框架,而SpringBoot整合MyBatis进行CRUD也非常方便。

下面从配置模式、注解模式、混合模式三个方面进行说明MyBatis与SpringBoot的整合。

1.1.配置模式

MyBatis配置模式是指使用mybatis配置文件的方式与SpringBoot进行整合,相对应的就有mybatis-config.xml(用于配置驼峰命名,也可以省略这个文件)、XxxMapper.xml文件。

主要步骤为:

导入mybatis官方starter
编写mapper接口。标准@Mapper注解
编写sql映射文件并绑定mapper接口
在application.yaml中指定Mapper配置文件的位置,以及指定全局配置文件的信息 (建议;配置在mybatis.configuration中,可以省略mybatis-config.xml文件)
下面是具体整合配置步骤:

①引入相关依赖pom.xml配置:

pom.xml

View Code

②编写对应Mapper接口:

复制代码
@Mapper //这个注解表示了这个类是一个mybatis的mapper接口类
@Repository
public interface UserMapper {
//@Select(“select * from user”)
List findAllUsers();

//@Insert("insert into user(id, username, password) values (#{id}, #{username}, #{password})")
void insert(User user);

//@Update("update user set username = #{username}, password = #{password} where id = #{id}")
void update(User user);

//@Delete("delete from user where id = #{id}")
void deleteById(Integer id);

}
复制代码

③在resources下创建对应的mapper文件,对应domain类,数据库表单如下:

User类:

复制代码
@Data
public class User {
private Integer id;
private String username;
private String password;
}
复制代码
数据库user表:

UserMapper.xml文件:

复制代码

<?xml version="1.0" encoding="UTF-8" ?> select * from user
<insert id="insert" parameterType="com.fengye.springboot_mybatis.entity.User">
    insert into user(id, username, password) values (#{id}, #{username}, #{password})
</insert>

<update id="update" parameterType="com.fengye.springboot_mybatis.entity.User">
    update user set username = #{username}, password = #{password} where id = #{id}
</update>

<delete id="deleteById" parameterType="Integer">
    delete from user where id = #{id}
</delete>
复制代码

④对应配置application.yml文件:

application.yml

复制代码
server:
port: 8083

spring:
datasource:
username: root
password: admin
#假如时区报错,增加时区配置serverTimezone=UTC
url: jdbc:mysql://localhost:3306/mybatis02_0322?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
#config-location: classpath:mybatis/mybatis-config.xml 使用了configuration注解则无需再指定mybatis-config.xml文件
mapper-locations: classpath:mybatis/mapper/*.xml
configuration: #指定mybatis全局配置文件中的相关配置项
map-underscore-to-camel-case: true
复制代码

1.2.注解模式

注解模式使用

主要步骤:

导入mybatis官方依赖
注解方式编写mapper接口
在application.yaml中指定Mapper配置文件的位置,以及指定全局配置文件的信息
可以看到注解模式比配置模式少了编写Mapper.xml文件,简化了简单SQL语句的xml文件编写。

下面是具体整合步骤:

①创建测试表单city,对应domain类:

建表sql:

复制代码
CREATE TABLE city
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30),
state VARCHAR(30),
country VARCHAR(30)
);
复制代码
City类:

复制代码
@Data
public class City {
private Long id;
private String name;
private String state;
private String country;
}
复制代码

②导入pom.xml与配置模式相同,编写注解式CityMapper接口:

复制代码
@Mapper
@Repository
public interface CityMapper {
@Select(“select * from city where id = #{id}”)
public City getCityById(Long id);

/**
 * 使用@Options来增加除Insert语句中其它可选参数,比如插入获取id主键的值
 * @param cit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值