网站建设资讯

NEWS

网站建设资讯

SpringBoot+Mybatis增删改查实战记录

简介

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达十载累计超上千家客户的网站建设总结了一套系统有效的全网整合营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都OPP胶袋等企业,备受客户表扬。

SpringBoot和Mybatis是啥请自行百度,作者这里也是花了几天时间入门了这个框架用来完成任务,并且也算符合要求的完成了任务,期间也各种百度但是没找到自己想要的那种简单易懂的教程,所以踩了很多坑,写这个博客的目的就是为了让大家少踩一点坑,开始。

创建一个SpringBoot项目https://start.spring.io/

点开这个网站,创建一个Springboot项目,如下图,这里用的是2.1.5,学技术嘛,就是要学新的。

SpringBoot + Mybatis增删改查实战记录

选择依赖,点击左下角的Dependencies

  1. Web 我们这次开发的是web应用所以选择web
  2. Thymeleaf 一款模板引擎,能够比较方便的展现后台传来的数据
  3. MySQL 我们这次使用Mysql数据库
  4. JDBC Java 数据库连接 Java Database Connectivity,简称JDBC
  5. MyBatis 请看第一段

SpringBoot + Mybatis增删改查实战记录

最后点击左下角的Generate Project,将会开始下载一个以你项目名称开头的zip文件,下载完成后解压到你的工作目录。

打开这个项目

这里使用的是IDEA,别的啥也行比如eclipse,这里只讲解IDEA的操作,安装破解IDEA百度一大堆,安装好之后打开IDEA(发现IDEA有个问题,有的时候自动import包好用,有的时候不好用,坑!),然后选择左上角的File->Open,找到你刚刚解压的项目文件里的pom.xml点击ok如下图

SpringBoot + Mybatis增删改查实战记录

目录结构

增加修改目录结构为下图

SpringBoot + Mybatis增删改查实战记录

开始编写

这里我们就编写一个人员信息的增删改查

配置数据库数据库创建

打开mysql数据库创建一个叫test的数据库之后创建person表,这里使用的是Navicat百度有破解版,会命令用命令行也行,如下图,记得设置主键自增,然后随便加几个数据以便之后查询。

SpringBoot + Mybatis增删改查实战记录

application.yml

路径:/resources/application.yml

server:
 port: 8080

spring:
 datasource:
 name:
 url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC
 username: root
 password: root

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

Person类

路径/model/Person.java

package com.ljsh.test.model;

public class Person {
 /*
 {id} 自增主键
 {name} 人员姓名
 {mobile} 人员电话
  */
 private int id;
 private String name;
 private String mobile;
 
 // 右键 Generate -> Setter and Getter -> Shift全选 -> ok 生成如下代码

 public int getId() {
  return id;
 }

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

 public String getName() {
  return name;
 }

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

 public String getMobile() {
  return mobile;
 }

 public void setMobile(String mobile) {
  this.mobile = mobile;
 }
 
 // 右键 Generate -> toString() -> 全选 -> ok 生成如下代码

 @Override
 public String toString() {
  return "Person{" +
    "id=" + id +
    ", name='" + name + '\'' +
    ", mobile='" + mobile + '\'' +
    '}';
 }
}

PersonDao

路径:/dao/PersonDao.java

package com.ljsh.test.dao;

import com.ljsh.test.model.Person;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface PersonDao {
  /*
  查所有
  return List
   */
  List getAll();

  /*
  根据ID查询
  {id} 要查询人员的 id
   */
  Person getPersonByID(int id);
  
  /*
  删除
  {id} 要删除人员的 id
   */
  void delete(int id);

  /*
  更新
  {p} 要更新的Person实例
   */
  void update(Person p);

  /*
  增加
  {p} 要新增的Person实例
   */
  void newp(Person p);
}

PersonDao.xml

路径:/mapper/PersonDao.xml

<?xml version="1.0" encoding="UTF-8" ?>



  
  
  person

  
  
  


  
  

  
  
    INSERT INTO
    
    (name,phone)
    VALUES
    (#{name},#{phone})
  

  
  
    UPDATE
    
    SET
    
    name = #{name},phone = #{phone},status = #{status}
    WHERE
    id = #{id}
  

  
  
    DELETE FROM
    
    WHERE
    id = #{id}
  

PersonService

路径:/service/PersonService.java

package com.ljsh.test.service;
import com.ljsh.test.dao.PersonDao;
import com.ljsh.test.model.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class PersonService {
  @Autowired
  PersonDao personDao;

  /*
    Service层介于controller和dao之间作为服务层进行一些逻辑处理,
    这里逻辑太简单所以知识单纯调用dao所以不做注释
   */
  public List getAll(){
    return personDao.getAll();
  }

  public Person getPersonByID(int id){
    return personDao.getPersonByID(id);
  }

  public void delete(int id){
    personDao.delete(id);
  }

  public void update(Person p){
    personDao.update(p);
  }

  public void newp(Person p){
    personDao.newp(p);
  }
}

PersonController

路径:/controller/PersonController.java

package com.ljsh.test.controller;

import com.ljsh.test.model.Person;
import com.ljsh.test.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;

@Controller
public class PersonController {

  @Autowired
  PersonService personService;

  // 设置访问路由值为路径
  @RequestMapping("/")
  public ModelAndView index(){
    // 顾名思义 实体和数据 同时返回页面模板和数据
    ModelAndView mav = new ModelAndView("index");
    List list = personService.getAll();
    mav.addObject("list",list);
    return mav;
  }
}

前端页面

路径:/templates/index.html









人员信息
Name Phone
还没有任何人员信息哦 你是不是想独吞奖品

右上角运行

SpringBoot + Mybatis增删改查实战记录

要是没有这个可以右侧选择TestApplication右键Run,结果图如下

SpringBoot + Mybatis增删改查实战记录

未完待续

熄灯睡觉了,写的有点慢,删改查还没来及写,如果需求留言,我会继续更新。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。


名称栏目:SpringBoot+Mybatis增删改查实战记录
文章转载:http://njwzjz.com/article/gesheo.html

其他资讯