资讯专栏INFORMATION COLUMN

Spring Boot 教程(三): Spring Boot 整合Mybatis

Xufc / 1138人阅读

摘要:教程简介本项目内容为教程样例。目的是通过学习本系列教程,读者可以从到掌握的知识,并且可以运用到项目中。

教程简介

本项目内容为Spring Boot教程样例。目的是通过学习本系列教程,读者可以从0到1掌握spring boot的知识,并且可以运用到项目中。如您觉得该项目对您有用,欢迎点击收藏和点赞按钮,给予支持!!教程连载中,欢迎持续关注!

环境

IDE: Eclipse Neon
Java: 1.8
Spring Boot: 1.5.12
数据库:MYSQL

本章简介

上一节介绍了Spring Boot JPA完成数据层访问,本节将介绍另外一种持久层框架MyBatis,并且将Spring Boot整合MyBatis完成数据层访问。

配置

基于教程(一)的项目进行操作,在pom.xml文件下面添加:

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.2
        

        
            mysql
            mysql-connector-java
            runtime
        
修改application.properties
spring.datasource.url = jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver
创建数据库表

在MYSQL中demo数据库里面运行一下SQL:

DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `pass` varchar(8) NOT NULL,
  PRIMARY KEY (`id`)
) 
创建实体和数据访问接口

创建包com.example.demo.model,创建实体User

public class User implements Serializable{
    
    private static final long serialVersionUID = -853504493430501564L;

    private Long id;
    
    private String name;
    
    private String pass;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

}

创建包com.example.demo.mapper, 创建User映射的Mapper:UserMapper

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM USER WHERE NAME = #{name}")
    User findByName(@Param("name") String name);
    
    @Insert("INSERT INTO USER(NAME, PASS) VALUES(#{name}, #{pass})")
    int save(@Param("name") String name, @Param("pass") String pass);
    
}
创建控制器

在com.example.demo.api下面创建User控制器UserController, 用于测试web访问

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;
    
    @RequestMapping("/saveUser")
    public void save() {
        userMapper.save("ajay", "123456");
    }
    
    @RequestMapping("/findByName")
    public User findByName(String name) {
        return userMapper.findByName(name);
    }
    
}
程序运行和调试

在Application类中,启动程序。浏览器输入http://localhost:8080/saveUser
http://localhost:8080/findByName?name=ajay

代码:gitee.com/shaojiepeng/SpringBootCourse

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69214.html

相关文章

  • 写这么多系列博客,怪不得找不到女朋友

    摘要:前提好几周没更新博客了,对不断支持我博客的童鞋们说声抱歉了。熟悉我的人都知道我写博客的时间比较早,而且坚持的时间也比较久,一直到现在也是一直保持着更新状态。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好几周没更新博客了,对不断支持我博客的童鞋们说声:抱歉了!。自己这段时...

    JerryWangSAP 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • dubbo整合springboot最详细入门教程

    摘要:说明目前互联网公司,大部分项目都是基于分布式,一个项目被拆分成几个小项目,这些小项目会分别部署在不同的计算机上面,这个叫做微服务。当一台计算机的程序需要调用另一台计算机代码的时候,就涉及远程调用。此时就粉末登场了。 showImg(https://s2.ax1x.com/2019/07/05/ZaELxe.jpg); 说明 目前互联网公司,大部分项目都是基于分布式,一个项目被拆分成几个...

    JinB 评论0 收藏0
  • Spring Boot - 整合JdbcTemplate、MyBatis

    摘要:更简答的说就是要么全部执行成功,要么撤销不执行。因此,数据库操作的事务习惯上就称为事务。实现原理单机事务事务是用对象控制的。接口提供了两种事务模式自动提交和手工提交。事务多机事务,通过实现,需要驱动支持。局限于应用使用。 Spring Boot - 数据库配置 回顾 Spring Boot - 初识 Hello World Spring Boot - Servlet、过滤器、监听器、...

    Keagan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<