博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1、SpringBoot+Mybatis整合------简单CRUD的实现
阅读量:6527 次
发布时间:2019-06-24

本文共 7122 字,大约阅读时间需要 23 分钟。

编译工具:STS

    代码下载链接:

一、项目的建立

选择依赖:Mybatis,Web,MySql,JDBC

SpringBoot版本:2.0.3

项目生成结构:

pom依赖:

1 
2
4
4.0.0
5 6
com.xm
7
demo005_Mybatis
8
0.0.1-SNAPSHOT
9
jar
10 11
demo005_Mybatis
12
Demo project for Spring Boot
13 14
15
org.springframework.boot
16
spring-boot-starter-parent
17
2.0.2.RELEASE
18
19
20 21
22
UTF-8
23
UTF-8
24
1.8
25
26 27
28
29
org.springframework.boot
30
spring-boot-starter-jdbc
31
32
33
org.springframework.boot
34
spring-boot-starter-web
35
36
37
org.mybatis.spring.boot
38
mybatis-spring-boot-starter
39
1.3.2
40
41 42
43
mysql
44
mysql-connector-java
45
runtime
46
47
48
org.springframework.boot
49
spring-boot-starter-test
50
test
51
52
53 54
55
56
57
org.springframework.boot
58
spring-boot-maven-plugin
59
60
61
62 63 64
pom.xml

二、创建数据库

三、项目配置

1.添加yml配置文件:application.yml

1 #配置mybatis 2 mybatis: 3   #配置xml映射路径 4   mapper-locations: classpath:mapper/*.xml 5    #配置实体类的别名 6   type-aliases-package: com.xm.pojo 7   configuration: 8     #开启驼峰命名法 9     map-underscore-to-camel-case: true10     11 12 #配置mysql连接13 spring:14   datasource:15     url: jdbc:mysql://10.1.51.31:3306/xm16     username: root17     password: cube150118     driver-class-name: com.mysql.jdbc.Driver
application.yml

2.在source文件夹下建立mapper文件夹

3.在Springboot启动类添加@MapperScan注解

1 package com.xm; 2  3 import org.mybatis.spring.annotation.MapperScan; 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 @MapperScan(value="com.xm.mapper") 7 @SpringBootApplication 8 public class Demo005MybatisApplication { 9 10     public static void main(String[] args) {11         SpringApplication.run(Demo005MybatisApplication.class, args);12     }13 }
Demo005MybatisApplication.java

注意:添加@MapperScan注解后,每个mapper都会自动扫描成为Bean。否则,需要在每个mapper接口上添加@Mapper接口

四、代码实现

1.实体类Student

1 package com.xm.pojo; 2  3 /** 4  * name:学生实体 5  * @author xxm 6  * 7  */ 8 public class Student { 9     /**10      * content:主键id11      */12     private int id;13     /**14      * content:姓名15      */16     private String name;17     18     public int getId() {19         return id;20     }21     public void setId(int id) {22         this.id = id;23     }24     public String getName() {25         return name;26     }27     public void setName(String name) {28         this.name = name;29     }30     31     32 33 }
Student.java

 2.数据操作层StudentMapper

         

1 package com.xm.mapper; 2  3 import java.util.List; 4  5 import com.xm.pojo.Student; 6  7 public interface StudentMapper { 8  9     /**10      * 根据id查询11      * @param id12      * @return13      */14     public Student getById(Integer id);15     16     /**17      * 查询全部18      * @return19      */20     public List
list();21 22 /**23 * 插入24 * @param student25 */26 public void insert(Student student);27 28 /**29 * 根据student的id修改30 * @param student31 */32 public void update(Student student);33 34 /**35 * 根据id删除36 * @param id37 */38 public void delete(Integer id);39 40 }
StudentMapper.java

 

3.mapper映射Studentmapper

1 
2 3
4 5
6
9 10
11
14 15
16
17 insert into student(name) values(#{name})18
19 20
21
22 update student set name=#{name} where id=#{id}23
24 25
26
27 delete from student where id=#{id}28
29
StudentMapper.xml

4.控制层StudentController

        

1 package com.xm.controller; 2  3 import java.util.List; 4  5 import javax.websocket.server.PathParam; 6  7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.web.bind.annotation.DeleteMapping; 9 import org.springframework.web.bind.annotation.GetMapping;10 import org.springframework.web.bind.annotation.PathVariable;11 import org.springframework.web.bind.annotation.PostMapping;12 import org.springframework.web.bind.annotation.PutMapping;13 import org.springframework.web.bind.annotation.RestController;14 15 import com.xm.mapper.StudentMapper;16 import com.xm.pojo.Student;17 18 @RestController19 public class StudentController {20     @Autowired21     private StudentMapper studentMapper;22     23     /**24      * 根据id查询学生25      * @param id26      * @return27      */28     @GetMapping("/student/{id}")29     public Student getById(@PathVariable("id") Integer id) {30         31         Student student = studentMapper.getById(id);32         return student;33         34     }35     36     /**37      * 查询全部38      * @return39      */40     @GetMapping("/students")41     public List
list(){42 List
students = studentMapper.list();43 return students;44 }45 46 /**47 * 插入48 * @param student49 */50 @PostMapping("/student")51 public void insert( Student student) {52 studentMapper.insert(student);53 }54 55 /**56 * 修改57 * @param student58 */59 @PutMapping("/student/{id}")60 public void update(Student student,@PathVariable("id")Integer id) {61 studentMapper.update(student);62 }63 64 /**65 * 根据id删除66 * @param id67 */68 @DeleteMapping("/student/{id}")69 public void delete(@PathVariable("id") Integer id) {70 studentMapper.delete(id);71 }72 73 }
StudentController.java

 

2018-06-1517:31:14

转载于:https://www.cnblogs.com/TimerHotel/p/springboot_matatis_01.html

你可能感兴趣的文章
脏读,幻读,不可重复读解释和例子
查看>>
Tomcat指定(JDK路径)JAVA_HOME而不用环境变量
查看>>
银行卡信息安全事件频发 互联网站成数据泄露"重灾区"
查看>>
云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例
查看>>
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
我眼中的自动化测试框架设计要点
查看>>
FLIF:自由的无损图像格式
查看>>
Google开源Inception-ResNet-v2,提升图像分类水准
查看>>
Opera 出售细节曝光:昆仑出资1.68亿美元
查看>>
CentOS 5.3 下快速安装配置 PPTP ××× 服务器
查看>>
产品经理学习总结之技术和设计篇
查看>>
23种设计模式(15):备忘录模式
查看>>
java基础学习总结——IO流
查看>>
iOS获取APP ipa 包以及资源文件
查看>>