006.MyBatis访问PostgreSQL-常规方式

news/2024/7/9 22:25:00 标签: postgresql, 数据库, database

1.引入MyBatis和PostgreSQL依赖

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

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <scope>runtime</scope>
</dependency>

2.配置数据库链接和使用的驱动

spring.datasource.url=jdbc:postgresql://localhost:5432/javacore
spring.datasource.username=postgres
spring.datasource.password=asdf-1234
spring.datasource.driver-class-name=org.postgresql.Driver

3.创建表+创建自增长ID

-- Table: public.User

-- DROP TABLE IF EXISTS public."User";

CREATE TABLE IF NOT EXISTS public."User"
(
    id bigint NOT NULL,
    name text COLLATE pg_catalog."default",
    age bigint,
    CONSTRAINT "User_pkey" PRIMARY KEY (id)
)

TABLESPACE pg_default;

ALTER TABLE IF EXISTS public."User"
OWNER to postgres;


创建序列
create sequence table_name_id_seq start with 1 increment by 1 no minvalue no maxvalue cache 1;

设置表的ID字段的默认值为nextval(table_name_id_seq)
alter table public."User" alter column id set default nextval('table_name_id_seq');

4.创建实体类

import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class User {
    private Long id;

    private String name;
    private Integer age;

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}

5.创建Mapper

package com.java.core;

import org.apache.ibatis.annotations.*;

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM \"User\" WHERE name = #{name}")
    User findByName(@Param("name") String name);

    @Insert("INSERT INTO \"User\"(name, age) VALUES(#{name}, #{age})")
    int insert(@Param("name") String name, @Param("age") Integer age);

    @Update("UPDATE \"User\" SET age=#{age} WHERE name=#{name}")
    void update(User user);

    @Delete("DELETE FROM \"User\" WHERE id =#{id}")
    void delete(Long id);
}

6.测试调用


@SpringBootTest
class CoreApplicationTests {

    @Autowired
    private UserMapper userMapper;


    @Test
    public void testUserController() throws Exception {

        // insert一条数据,并select出来验证
        userMapper.insert("AAA", 20);
        User u = userMapper.findByName("AAA");

        // update一条数据,并select出来验证
        u.setAge(30);
        userMapper.update(u);
        u = userMapper.findByName("AAA");

        // 删除这条数据,并select验证
        userMapper.delete(u.getId());
        u = userMapper.findByName("AAA");


    }

}


http://www.niftyadmin.cn/n/1529415.html

相关文章

SAP接口集成-abap调用外部数据库

SAP接口集成-abap调用外部数据库前言一、SAP配置外部数据源二、使用步骤1.新建测试程序2.使用场景介绍总结前言 PI/PO集成方式很多&#xff0c;但是有趣的灵魂不多&#xff0c;现在介绍一个直接用abap调用外部数据库的特殊方法 提示&#xff1a;以下是本篇文章正文内容&#x…

005.SpringBoot-RESTful-API-接口文档组件Swagger2的升级版-knife4j

在以下案例的基础上&#xff0c;升级API文档显示功能 005.SpringBoot-RESTful-API-接口文档组件Swagger2_℡メ㏑╭ァ小凯-CSDN博客 什么是knife4j&#xff1f; knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,具有小巧,轻量,并且…

cocos角色和敌人行为互动脚本制作

给宝宝做一个cocos免费游戏 第一章 背景和开发框架介绍 第二章 Node树和场景制作 第三章 UI、地图和关卡文本制作 第四章 摇杆、按键和角色动画制作 第五章 敌人和AI制作 第六章 角色和敌人行为互动脚本制作 第七章 游戏打包、发布和调试 cocos角色和敌人行为互动脚本制作给宝…

abap实现大数据-echar调用

abap实现大数据-echar调用前言一、echart代码获取二、abap实现1.定义HTML控件2.构建option3.完整ABAP代码总结前言 最近做了个bwsmart bi项目&#xff0c;smartbi虽然好&#xff0c;但感觉不是sap系列&#xff0c;总有非我族者其心必异的感觉。考虑smart bi软件原理也是使用ec…

007.MyBatis访问PostgreSQL-XML方式

在以下案例的基础上修改 006.MyBatis访问PostgreSQL-常规方式_℡メ㏑╭ァ小凯-CSDN博客 1.在应用主类中增加mapper的扫描包配置 MapperScan("com.java.core") 2.在扫描包对应下创建Mapper类&#xff0c;前面创建过了&#xff0c;这里需要去掉前面例子的注解 pack…

C# NET MVC 分页导出、打包导出、常规导出

前台调用导出代码 function BM1DataCheck() {loading layer.confirm(确定导出&#xff1f;, function (index) {var url "xxxx" new Date().getTime();layer.close(loading);loading layer.load(0, {shade: [0.1, #fff]});$.get(url, function (data) {layer.cl…

SAP财务凭证校验和替换

SAP财务凭证校验和替换前言一、凭证校验二、凭证替代1.GGB1建立替代和步骤替代步骤先决条件替换2.激活替代OBBH总结前言 财务模块一般在SPRO配置中预留一些增强的地方&#xff0c;有些是纯写代码如BADI E开头函数&#xff0c;这些使用起来影响较大&#xff0c;工作量也不小。这…

SAP接口集成-PO/PI FunctionLibrary和UDF篇

目录 一、ESR mapping的FunctionLibrary概况 二、新建FL 三、FL参数说明 四、FLJava对象解释&#xff08;java&#xff09; 一、ESR mapping的FunctionLibrary和UDF概况 1.Mapping函数概况 首先说说MM里面的函数&#xff0c;我们FunctionLibirary保存的就是java自定义函数…