SpringBoot项目中集成MyBatis框架

mybatis官方学习文档
mybatis-spring

一、pom.xml中引入mybatis依赖

        <!-- ORM框架 MyBatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

二、配置数据库信息

在application.properties中配置使用的数据库信息,这里以mysql为例

在这里插入图片描述

三、通过mybatis访问数据库

报错:java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone.

1、定义Mapper接口类(Dao)和操作sql
方式一、使用全注解

类注解:@Mapper 、sql注解(@Select、@Insert、@Delete、@Update)

@Mapper
public interface UserInfoMapper {
    @Select("select * from userinfo")
    List<User> queryAllUser();
}
方式二、在mapper xml配置文件中配置sql

1、首先需要在application.pro中指定xml路径,告诉应用该去哪里解析对应的xml

mybatis.mapperLocations=classpath:mappers/*.xml

2、配置*.xml文件

注意:如果定义的Java Bean中的属性与表字段一模一样,则无需再定义resultMap来映射关系 当返回结果为java
Bean时,查出结果后mybatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。

在这里插入图片描述

也可以在application.properties中指定POJO扫描包来让mybatis自动扫描到自定义POJO,这样在xml中我们就可以直接写

mybatis.type-aliases-package=com.spring.demo.entity

在这里插入图片描述

2、定义业务接口类(service)
/**
 * @Description: 用户管理接口类
 * @Author: Super
 * @CreateDate: 2020/6/24 18:01
 * @Version: 1.0
 */
public interface UserManageService {
  /**
   * 功能描述: 查询所有用户
   * 〈〉
   * @Return  java.util.List<com.spring.demo.entity.User>
   */
    List<User> queryAllUser() throws Exception;
}
3、定义业务实现类(serviceImpl)

类注解:@Service

/**
 * @Description: 用户管理实现类
 * @Author: Super
 * @CreateDate: 2020/6/24 18:09
 * @Version: 1.0
 */
@Service
public class UserManageServiceImpl implements UserManageService{
    @Autowired
    private UserInfoMapper userInfoMapper;

    @Override
    public List<User> queryAllUser() throws Exception{
        List<User> users;
        try {
            users = userInfoMapper.queryAllUser();
        } catch (Exception e) {
            throw e;
        }
        return Objects.isNull(users) ? new ArrayList<>() : users;
    }
}
4.定义启动类和请求路径

定义一个结果封装类来封装返回给前台的结果(使用lombok @Data注解来自动生成get/set)

@Data
public class RestResult {
    private Object Data;
    private int status;
    private String errorMsg;
}
@SpringBootApplication
@RestController
public class DemoApplication {
    @Autowired
    private UserManageService userManageService;

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @GetMapping("/alluser")
    public RestResult queryAllUser(){
        RestResult restResult = new RestResult();
        try {
            List<User> users = userManageService.queryAllUser();
            restResult.setData(users);
            restResult.setStatus(0);
        } catch (Exception e) {
            restResult.setStatus(-1);
            restResult.setErrorMsg("查询用户信息失败");
        }
        return restResult;
    }
}

四、启动应用访问url

在这里插入图片描述

课程简介这是一门使用Java语言,SpringBoot框架,从0开发一个RESTful API应用,接近企业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识,99%代码为手写;因为这是项目课程;所以不会深入到源码讲解某个知识点,以及原理,但会粗略的讲解下基础原理;主要是讲解如何使用系统功能,流行的第三方框架,第三方服务,完成接近企业级项目,目的是让大家,学到真正的企业级项目开发技术。适用人群刚刚毕业的学生想提高职场竞争力想学从零开发SpringBoot项目想提升SpringBoot项目开发技术想学习SpringBoot项目架构技术想学习企业级项目开发技术就是想学习SpringBoot开发能学到什么从0开发一个类似企业级项目学会能做出市面上90%通用API快速增加1到2年实际开发经验刚毕业学完后能找到满意的工作已经工作学完后最高涨薪30%课程信息全课程目前是82章,155小时,每节视频都经过精心剪辑。在线学习分辨率最高1080P课程知识点1~11章:学习方法,项目架构,编码规范,Postman使用方法,Git和Github版本控制12~16章:搭建开发环境,快速入门SpringBoot框架17~20章:快速入门MySQL数据库21~30章:MyBatis,登录注册,找回密码,发送短信,发送邮件,企业级接口配置31~41章:实现歌单,歌单标签,音乐,列表分页,视频,评论,好友功能42~48章:阿里云OSS,话题,MyBatis-plus,应用监控49~53章:Redis使用集成Redis,SpringCache,HTTP缓存54~58章:Elasticsearch使用集成Elasticsearch,使用ES搜索59~61章:商城,集成支付宝SDK,支付宝支付62~64章:常用哈希和加密算法,接口加密和签名65~67章:实时挤掉用户,企业级项目测试环境,企业级接口文档68~69章:SpringBoot全站HTTPS,自签证书,申请免费证书70~73章:云MySQL数据库,云Redis数据库使用,轻量级应用部署环境,域名解析74~80章:Docker使用,生产级Kubernetes集群,域名解析,集群全站HTTPS81~82章:增强和重构项目,课程总结,后续学习计划
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值