文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

springboot整合mybatis并访问数据库的过程

2023-06-19 12:08

关注

这篇文章主要讲解了“springboot整合mybatis并访问数据库的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot整合mybatis并访问数据库的过程”吧!

引入依赖

在pom文件引入mybatis-spring-boot-starter的依赖:

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

引入数据库连接依赖:

<dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <scope>runtime</scope>        </dependency>        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.0.29</version>        </dependency>

引入数据源

application.properties配置文件中引入数据源:

spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver

这样,springboot就可以访问数据了。

创建数据库表

建表语句:

-- create table `account`# DROP TABLE `account` IF EXISTSCREATE TABLE `account` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(20) NOT NULL,  `money` double DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;INSERT INTO `account` VALUES ('1', 'aaa', '1000');INSERT INTO `account` VALUES ('2', 'bbb', '1000');INSERT INTO `account` VALUES ('3', 'ccc', '1000');

具体实现

这篇文篇通过注解的形式实现。

创建实体:

 public class Account {    private int id ;    private String name ;    private double money;  setter...  getter... }

dao层

@Mapperpublic interface AccountMapper {    @Insert("insert into account(name, money) values(#{name}, #{money})")    int add(@Param("name") String name, @Param("money") double money);    @Update("update account set name = #{name}, money = #{money} where id = #{id}")    int update(@Param("name") String name, @Param("money") double money, @Param("id") int  id);    @Delete("delete from account where id = #{id}")    int delete(int id);    @Select("select id, name as name, money as money from account where id = #{id}")    Account findAccount(@Param("id") int id);    @Select("select id, name as name, money as money from account")    List<Account> findAccountList();}

service层

@Servicepublic class AccountService {    @Autowired    private AccountMapper accountMapper;    public int add(String name, double money) {        return accountMapper.add(name, money);    }    public int update(String name, double money, int id) {        return accountMapper.update(name, money, id);    }    public int delete(int id) {        return accountMapper.delete(id);    }    public Account findAccount(int id) {        return accountMapper.findAccount(id);    }    public List<Account> findAccountList() {        return accountMapper.findAccountList();    }}

controller层,构建restful API

package com.forezp.web;import com.forezp.entity.Account;import com.forezp.service.AccountService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;@RestController@RequestMapping("/account")public class AccountController {    @Autowired    AccountService accountService;    @RequestMapping(value = "/list", method = RequestMethod.GET)    public List<Account> getAccounts() {        return accountService.findAccountList();    }    @RequestMapping(value = "/{id}", method = RequestMethod.GET)    public Account getAccountById(@PathVariable("id") int id) {        return accountService.findAccount(id);    }    @RequestMapping(value = "/{id}", method = RequestMethod.PUT)    public String updateAccount(@PathVariable("id") int id, @RequestParam(value = "name", required = true) String name,                                @RequestParam(value = "money", required = true) double money) {        int t= accountService.update(name,money,id);        if(t==1) {            return "success";        }else {            return "fail";        }    }    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)    public String delete(@PathVariable(value = "id")int id) {        int t= accountService.delete(id);        if(t==1) {            return "success";        }else {            return "fail";        }    }    @RequestMapping(value = "", method = RequestMethod.POST)    public String postAccount(@RequestParam(value = "name") String name,                              @RequestParam(value = "money") double money) {       int t= accountService.add(name,money);       if(t==1) {           return "success";       }else {           return "fail";       }    }}

通过postman测试通过。

感谢各位的阅读,以上就是“springboot整合mybatis并访问数据库的过程”的内容了,经过本文的学习后,相信大家对springboot整合mybatis并访问数据库的过程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯