更新时间:2021-06-28 16:16:17 来源:极悦 浏览1291次
springboot基础mybatis还是很简单的,比之前springmvc集成mybatis要少很多配置,只要大家按照步骤一步一步来,几分钟就能实现。具体做法如下:
在pom文件中添加4个依赖
<!-- 添加mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.5</version>
</dependency>
<!--添加mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
<!--添加数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
<!--代码简化工具-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
</dependencies>
相关配置
在application.yml配置数据源和mybatis相关配置配置数据源配置mapper文件路径配置mapper别名
server:
port: 8089 # 配置端口
servlet:
context-path: /moyundong # 配置项目名称
# 配置数据源
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springbootdata
username: root
password: root
# 配置mybatis
mybatis:
mapper-locations: classpath:com/mapper/*.xml # mybatis的路径,我们放到resources下的com/mapper文件夹下面
type-aliases-package: com.moyundong.entity # 默认别名就是实体类名,或者类名首字母小写 SysUser | sysUser
创建数据库表
CREATE TABLE `sys_user` (
`id` varchar(64) NOT NULL COMMENT '主键id',
`username` varchar(100) DEFAULT NULL COMMENT '登录账号',
`password` varchar(255) DEFAULT NULL COMMENT '密码',
`birthday` datetime DEFAULT NULL COMMENT '生日',
`email` varchar(100) DEFAULT NULL COMMENT '电子邮件',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
创建实体类
在com.moyundong.entity包下创建SysUser实体类,这个实体类与数据库表sys_user是对应的,sys_user的首字母大写,去掉下划线,并且下划线后面的首字母也要大写,这样sys_user表对应的实体类就是SysUser了。
@Data
public class SysUser {
private String id;
private String username;
private String password;
private Date birthday;
private String email;
}
创建dao接口
在com.moyundong.dao目录下创建相关dao,首先我们创建一个BaseDao,里面可以写一些公共基础方法。为了演示,我只写了两个方法,一个保存,一个查询。
public interface BaseDao<T> {
void save(T t);
List<T> findAll();
}
再创建我们的SysUserDao,他继承了BaseDao,就不用再写save和findAll方法了,如果还有其它dao,都可以继承BaseDao
public interface SysUserDao extends BaseDao<SysUser> {
}
创建mapper配置文件
在resource/com/mapper目录下创建SysUserMapper.xml文件,主要定义了save和findAll两个方法,内容如下:
<?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.moyundong.dao.SysUserDao">
<insert id="save" parameterType="sysUser">
INSERT INTO sys_user VALUES (#{id},#{username},#{password},#{birthday},#{email})
</insert>
<select id="findAll" resultType="SysUser">
SELECT id,username,password,birthday,email from sys_user
</select>
</mapper>
在com.moyundong.service包下创建SysUserService接口
public interface SysUserService {
void save(SysUser sysUser);
List<SysUser> findAll();
}
创建service实现类
在com.moyundong.service包下创建SysUserServiceImpl类,实现了SysUserService接口,并且注入了sysUserDao实例
@Service
@Transactional
public class SysUserServiceImpl implements SysUserService {
@Autowired
private SysUserDao sysUserDao;
@Override
public void save(SysUser sysUser) {
sysUser.setId(UUID.randomUUID().toString());
sysUserDao.save(sysUser);
}
@Override
public List<SysUser> findAll() {
return sysUserDao.findAll();
}
}
创建controller
在com.moyundong.controller包下创建SysUserController,里面有两个方法,save和findAll,并且注入了sysUserService实例
@RestController
@RequestMapping("sysUser")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
@RequestMapping("save")
public String save(SysUser sysUser){
sysUserService.save(sysUser);
return "添加成功";
}
@RequestMapping("findAll")
public Object findAll(){
return sysUserService.findAll();
}
}
启动类中扫描dao
入口类Test04Application加上 MapperScan("com.moyundong.dao")注解来扫描dao包
@SpringBootApplication
@MapperScan("com.moyundong.dao")
public class Test04Application extends SpringBootServletInitializer {
public static void main(String[] args) throws UnknownHostException {
SpringApplication.run(Test04Application.class, args);
}
}
测试
启动Test04Application运行项目。
本节项目目录结构如下:
以上就是极悦小编介绍的"springboot整合mybatis",希望对大家有帮助,想了解更多可查看SpringBoot学习视频,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习