Springboot 使用Mybatis对postgreSQL实现CRUD

 

目录结构

 

1、创建一个springboot项目

选择Web、Mabatis、postgreSQL

 

 

2、application中写入配置文件

1 #配置数据源
2 spring.datasource.platform=postgres
3 spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/postgres
4 spring.datasource.username=postgres
5 spring.datasource.password=123456
6 spring.datasource.driverClassName=org.postgresql.Driver

  写入完成后,org.postgresql.Driver会报错(可以不管)。原因是postgresql这个jar包依赖类型默认是runtime(运行时生效),所以并不影响代码的运行。

  修改方法:

  右键点击项目——选择“open module settings”——点击“Dependencies”,找到Maven:org.postgresql:postgresql:42.2.5将runtime修改为Compile

 

 

3、创建一个实例化的实体类

首先在postgreSQL数据库中新建一个表table_one,并创建一个BeanUser的实体类。

 1 package com.example.bean;
 2 
 3 public class BeanUser {
 4 
 5     private Integer id;
 6     private String user_name;
 7     private String pass_word;
 8 
 9     public Integer getId() {
10 
11         return id;
12 
13     }
14 
15     public void setId(Integer id) {
16 
17         this.id = id;
18 
19     }
20 
21     public String getUser_name() {
22 
23         return user_name;
24 
25     }
26 
27     public void setUser_name(String user_name) {
28 
29         this.user_name = user_name;
30 
31     }
32 
33     public String getPass_word() {
34 
35         return pass_word;
36 
37     }
38 
39     public void setPass_word(String pass_word) {
40 
41         this.pass_word = pass_word;
42 
43     }
44 }
45 
46  

4、创建一个对表CRUD的实体类

 1 package com.example.mapper;
 2 
 3 import com.example.bean.BeanUser;
 4 
 5 import org.apache.ibatis.annotations.*;
 6 
 7  
 8 
 9 //指定这是一个操作数据库的mapper
10 
11 @Mapper
12 
13 public interface BeanUserMapper {
14 
15  
16 
17     //查询
18 
19     @Select("select * from table_one where id=#{id}")
20 
21     public BeanUser selectId(Integer id);
22 
23  
24 
25     //删除
26 
27     @Delete("delete from table_one where id=#{id}")
28 
29     public int deleteId(Integer id);
30 
31  
32 
33     //插入
34 
35     @Insert("insert into table_one(id,user_name,pass_word) values(#{id},#{user_name},#{pass_word})")
36 
37     public int insertBean(BeanUser beanUser);
38 
39  
40 
41     //修改
42 
43     @Update("update table_one set user_name=#{user_name},pass_word=#{pass_word} where id=#{id}")
44 
45     public int UpdateBean(BeanUser beanUser);
46 
47 }

5、创建一个controller控制器

接收和处理客户端的请求

 1 package com.example.controller;
 2 
 3 import com.example.bean.BeanUser;
 4 
 5 import com.example.mapper.BeanUserMapper;
 6 
 7 import org.springframework.beans.factory.annotation.Autowired;
 8 
 9 import org.springframework.web.bind.annotation.PathVariable;
10 
11 import org.springframework.web.bind.annotation.RequestMapping;
12 
13 import org.springframework.web.bind.annotation.RestController;
14 
15  
16 @RestController
17 
18 public class ControllerBean {
19 
20     @Autowired
21 
22     BeanUserMapper beanUserMapper;
23 
24     //查询
25 
26     @RequestMapping("/get/{id}")
27 
28     public BeanUser getBeanUser(@PathVariable("id") Integer id){
29 
30         return beanUserMapper.selectId(id);
31 
32     }
33     //插入
34 
35     @RequestMapping("/insert")
36 
37     public BeanUser insertBeanUser(BeanUser beanUser){
38 
39         beanUserMapper.insertBean(beanUser);
40 
41         return beanUser;
42 
43     }
44     //修改
45 
46     @RequestMapping("/update")
47 
48     public BeanUser updateBeanUser(BeanUser beanUser){
49 
50         beanUserMapper.UpdateBean(beanUser);
51 
52         return beanUser;
53 
54     }
55     //删除
56 
57     @RequestMapping("/delete/{id}")
58 
59     public String deleteBeanUser(@PathVariable("id")Integer id){
60 
61          beanUserMapper.deleteId(id);
62 
63          return "删除成功!";
64 
65     }
66 }

 

6、运行成功

查询

 

插入

 

修改

 

删除

 

转载于:https://www.cnblogs.com/zh-lin/p/10293332.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不得不说,这是我面过的最优秀的Linux运维!

Linux可以说是运维之“本”。无论中小企业还是大厂,现在的企业有95%甚至更多是使用Linux服务器。而对于Linux运维来说,Linux基础越扎实、会的工具越多,能解决的问题就越多,技术也能走的更远。Linux,甚至可以说是进入IT…

一个中科大「差生」的8年程序员工作总结

今年终于从大菊花厂离职了,离职前收入大概60w不到吧!在某乎属于比较差的,今天终于有空写一下自己的职场故事,也算是给自己近8年的工作做个总结复盘。近8年有些事情做对了,也有更多事情做错了,在这里记录一下…

Java IO File

#file file的一些方法,因为windows和Linux开发环境的问题,在file中最好统一用 / 输出流操作 转载于:https://www.cnblogs.com/cykfory/p/10294981.html

gtest使用例子

最近使用gtest进行单元测试,采用打桩的形式。关于gtest的详细说明就不多说了,网上的资料一大堆。主要讲解使用时的参数如何配置以及遇到的问题。下面的例子模拟是加、减、乘、除四则运算,前提是不知道加、减、乘、除四则运算是如何实现的。 …

游戏开发中的数学和物理算法(7):角度 vs 弧度

我们通常使用的笛卡尔坐标系统,角点通常在(0,0),即原点。初始边在x轴正半轴,终边与初始边成夹角。初始边逆时针旋转为正值,顺时针旋转为逆值。数学表示:角度:degreeradian*180/π 弧度:radiandegree*π/18…

一个小老板的春天

大家周末好继续之前说的采访专栏,前两天和一个做生意的朋友聊天,总结了一些内容分享给大家,觉得不错的点赞收藏起来,可能后面你自己当老板了会用到。我这个老板的名字和公司名字我就不说出来了,他现在做的是细分领域&a…

SharePoint GridView的使用2——DataSourceView的使用

首先创建一个abstract类,继承Microsoft.SharePoint.WebControls.DataTableDataSourceView。之后基于这个类可以创建多个显示不同数据的的DataSourceView,在上文的DataSource控件中有个ViewName属性,可以通过这个属性来区分不同的DataSourceVi…

我在ARM板上写的第一个驱动程序

有时大家喜欢拿电灯来当作笑谈,实际上点灯包含多内容很多,如下这篇文章就是关于嵌入式Linux点灯多技术栈,推荐给大家。摘要:搞嵌入式有两个方向,一个是嵌入式软件开发(MCU方向),另一个是嵌入式软件开发(Lin…

string、char *、char []之间的相互转换

最近工作中遇到了string、char *、char []之间的相互转换&#xff0c;今天终于抽出时间将他们之间的转换记录下来&#xff0c;使用的是CodeBlocks软件&#xff0c;编译器为GNU GCC compiler&#xff0c;下面看代码&#xff1a; #include <iostream> #include <stdio.…

C语言中匿名的最高境界

C语言中有没有见过(int [2]){19,20}或者int (*pt2)[4]的使用方法&#xff0c;字面上可能不好理解&#xff0c;这是C99之后才新增的知识点&#xff0c;名为复合型表述Compound Literals&#xff0c;一旦熟悉使用&#xff0c;便会体会到它简洁而强大的表达。什么是”复合型表述“…

codeblocks安装后提示找不到编译器

安装了自带编译器的codeblocks&#xff0c;但是打开后提示没有找到compiler&#xff0c; 经过几分钟的搜索&#xff0c;找了原因&#xff1a; 打开codeblocks&#xff0c;进入settings->compiler&#xff0c;选择如下: 然后&#xff0c;选择Toolchain executables&#xff…

一文读懂|栈溢出攻击

什么是栈简单来说&#xff0c;栈 是一种 LIFO&#xff08;Last In Frist Out&#xff0c;后进先出&#xff09; 形式的数据结构。栈一般是从高地址向低地址增长&#xff0c;并且栈支持 push&#xff08;入栈&#xff09; 和 pop&#xff08;出栈&#xff09; 两个操作。如下图所…

Sqlserver 通用存储过程(二) 联合主键

CREATEPROCP_public_ViewPage /**//**//**//* no_mIss 通用分页存储过程 2007.3.1 QQ:34813284 适用于联合主键/单主键/存在能确定唯一行列/存在能确定唯一行的多列 (用英文,隔开) 调用&#xff1a; 第一页查询时返回总记录和总页数及第一…

理解ALSA

最近处理音频的问题&#xff0c;所以看了一些不错的文章&#xff0c;整理一些有用的资料出来&#xff0c;有需要的可以收藏。ALSA的框架图&#xff1a;这个图可以说是我目前看到最不错的&#xff0c;我发现很多应用开发的&#xff0c;一出现解决不了的问题&#xff0c;或者奇怪…

Xshell 6如何设置多个session显示在同一个窗口

刚才安装了Xshell 6之后&#xff0c;发现在同一个窗口只能显示4个session&#xff0c;网上查找了一些资料但是都不是想要的结果&#xff0c;经过几分钟的查找&#xff0c;终于找到了设置在同一个窗口session的个数&#xff0c;因此记录下来&#xff0c;或者给与他人帮助。以下以…

blockUI应用到Asp.Net页面时服务器控件(Button等)失效的问题

问题&#xff1a;在Asp.Net页面中用blockUI这个控件实现弹出窗口的效果&#xff0c;弹出页面内容为页面中某个Panel中的内容&#xff0c;包含TextBox、Button等服务器控件。使用时就简单的设置message属性。问题出来了&#xff0c;当显示这个弹出页面后&#xff0c;所有Button等…

android DatePicker

为什么80%的码农都做不了架构师&#xff1f;>>> public class DatePicker extends FrameLayout java.lang.Object android.view.View android.view.ViewGroup android.widget.FrameLayout android.widget.DatePicker DatePicker 一个选择年月日的日历布局视图 公…

一次限制进程的 CPU 用量的实操过程

大家好&#xff0c;我是飞哥&#xff01;给大家分享一个事情。背景是这样的&#xff0c;我们要测试某个第三方 SDK 运行性能&#xff0c;这是个 CPU 密集型的服务。我想评估一下它运行一遍到底有多吃 CPU&#xff0c;以便评估上线后我们需要部署多少台服务器。我们是在一台 16 …

map与unordered_map的区别

set/map底层实现的机制是红黑树。红黑树是一种近似于平衡的二叉查找树&#xff0c;默认是按升序排序的。在红黑树上做查找、插入、删除操作的时间复杂度为O(logN)。 红黑树的缺点&#xff1a;空间占用率高&#xff0c;每一个节点都需要额外保存父节点、孩子节点和红/黑性质&am…

navicat不同数据库数据传输

复制fo的t_fo_account表结构和数据到base库 结果 转载于:https://www.cnblogs.com/feifeicui/p/10307646.html