Spring Boot工程中使用Mybatis

Mybatis为我们提供了基于Spring Boot的starter,所以在Spring Boot工程中使用Mybatis很简单,只需要简单的几步就可以搞定。

一、首先我们需要引入Mybatis的依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

二、声明Mapper接口的位置

@MapperScan("com.x.y.x.mapper")

三、配置SQL文件位置

mybatis.mapper-locations=classpath:mapper/*.xml

四、进行一些其它的配置

#是否开启二级缓存,默认是关闭的
mybatis.configuration.cache-enabled=true
#配置SQL文件中使用的model类型路径,为其生成别名
mybatis.type-aliases-package=com.x.y.x.model,com.x.y.x.entity

当然还有一些其它的配置项,如有需要可以在网上自行查找,或者查阅mybatis提供的autoconfiguration的源码

通过上面几步配置,然后编写自己的mapper接口和xml文件,就可以在Spring Boot工程中使用Mybatis了。

附上数据源的配置:

#--------------------数据源配置--------------------
spring.datasource.url=jdbc:mysql://192.168.2.238:3306/cfmp3?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=admin_123
# hikari连接池配置
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
# 这个maxPoolSize的配置并没有生效,我看spring boot的源码,按理应该是这样配,但是实际并没有生效,它根本就没有加载到这个配置,如果有清楚的大神,还望告知
spring.datasource.hikari.maxPoolSize=15
1. 添加MyBatisMyBatis-Spring依赖 在pom.xml文件添加以下依赖: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> ``` 2. 配置数据源 在application.properties文件配置数据源信息,例如: ``` spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=123456 ``` 3. 创建实体类和Mapper接口 创建实体类和Mapper接口,例如: ``` public class User { private Long id; private String username; private String password; // 省略getter和setter方法 } public interface UserMapper { User selectById(Long id); void insert(User user); void update(User user); void delete(Long id); } ``` 4. 编写Mapper.xml文件 在resources目录下创建mapper目录,并创建UserMapper.xml文件,编写SQL语句,例如: ``` <mapper namespace="com.example.mapper.UserMapper"> <select id="selectById" parameterType="java.lang.Long" resultType="com.example.entity.User"> select * from user where id = #{id} </select> <insert id="insert" parameterType="com.example.entity.User"> insert into user (username, password) values (#{username}, #{password}) </insert> <update id="update" parameterType="com.example.entity.User"> update user set username = #{username}, password = #{password} where id = #{id} </update> <delete id="delete" parameterType="java.lang.Long"> delete from user where id = #{id} </delete> </mapper> ``` 5. 配置MyBatis 在application.properties文件添加以下配置: ``` mybatis.mapper-locations=classpath:mapper/*.xml ``` 6. 注册Mapper接口 在启动类添加@MapperScan注解,例如: ``` @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 7. 使用Mapper接口操作数据库 在需要使用Mapper接口的地方,通过@Autowired注解注入Mapper接口,并调用其方法,例如: ``` @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/user/{id}") public User getUserById(@PathVariable Long id) { return userMapper.selectById(id); } @PostMapping("/user") public void addUser(@RequestBody User user) { userMapper.insert(user); } @PutMapping("/user") public void updateUser(@RequestBody User user) { userMapper.update(user); } @DeleteMapping("/user/{id}") public void deleteUserById(@PathVariable Long id) { userMapper.delete(id); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值