SpringBoot + Mybatis增删改查实战记录

网友投稿 234 2023-01-06


SpringBoot + Mybatis增删改查实战记录

简介

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

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

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

Web 我们这次开发的是web应用所以选择web

Thymeleaf 一款模板引擎,能够比较方便的展现后台传来的数据

mysql 我们这次使用Mysql数据库

JDBC java 数据库连接 Java Database Connectivity,简称JDBC

MyBatis 请看第一段

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

打开这个项目

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

目录结构

增加修改目录结构为下图

开始编写

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

配置数据库数据库创建

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

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&sehttp://rverTimezone=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

"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

person

SELECT

*

FROM

SELECT

*

FROM

WHERE

id = #{id}

INSERT INTO

(name,phone)

VALUES

(#{name},#{phone})

UPDATE

SET

name = #{name},phone = #{phone},status = #{status}

WHESCZTcAYKmRE

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

右上角运行

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

未完待续

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

总结

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:做接口测试参数配置(接口测试参数类型有哪些)
下一篇:如何定义接口和实现接口(如何定义接口和实现接口的关系)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~