当前位置: 代码网 > it编程>编程语言>Java > SpringBoot连接PostgreSQL+MybatisPlus入门案例(代码详解)

SpringBoot连接PostgreSQL+MybatisPlus入门案例(代码详解)

2024年07月24日 Java 我要评论
项目结构一、java代码pom.xml<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apach

项目结构

一、java代码

pom.xml

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
         xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>
    <groupid>org.example</groupid>
    <artifactid>jdservice</artifactid>
    <version>1.0-snapshot</version>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceencoding>utf-8</project.build.sourceencoding>
    </properties>
    <dependencies>
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-web</artifactid>
            <version>2.0.3.release</version>
        </dependency>
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter</artifactid>
            <version>2.0.3.release</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
        <dependency>
            <groupid>org.postgresql</groupid>
            <artifactid>postgresql</artifactid>
            <version>42.6.0</version>
        </dependency>
        <dependency>
            <groupid>org.projectlombok</groupid>
            <artifactid>lombok</artifactid>
            <version>1.18.12</version>
        </dependency>
        <!--mybatis‐plus的springboot支持-->
        <dependency>
            <groupid>com.baomidou</groupid>
            <artifactid>mybatis-plus-boot-starter</artifactid>
            <version>3.1.0</version>
        </dependency>
    </dependencies>
</project>

controller层

package org.example.jd.controller;
import org.example.jd.pojo.tuser;
import org.example.jd.service.tuserservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.web.bind.annotation.*;
import java.util.list;
@crossorigin(origins = "http://localhost:8080")
@restcontroller
public class usercontroller {
    @autowired
    private tuserservice tuserservice;
    @postmapping("/api/userlogin")
    public string login(@requestbody tuser tuser) {
        // 实际业务逻辑处理
        string username = tuser.getusername();
        string password = tuser.getpassword();
        // 这里可以进行用户名密码验证等操作
        system.out.println("========login successful=====");
        system.out.println(username + "," + password);
        return "login successful"; // 返回登录成功信息或者其他响应
    }
    @getmapping("/api/getuserlist")
    public list<tuser> getuserlist() {
        list<tuser> tuserlist = tuserservice.getuserlist();
        return tuserlist;
    }
}

mapper层

package org.example.jd.mapper;
import com.baomidou.mybatisplus.core.mapper.basemapper;
import org.example.jd.pojo.tuser;
public interface tusermapper extends basemapper<tuser> { //参数为实体类
}

pojo层

package org.example.jd.pojo;
import com.baomidou.mybatisplus.annotation.tableid;
import com.baomidou.mybatisplus.annotation.tablename;
import lombok.allargsconstructor;
import lombok.data;
import lombok.noargsconstructor;
import java.time.localdate;
@data
@allargsconstructor
@noargsconstructor
@tablename("tuser")   //指定数据库表
public class tuser {
    @tableid(value = "uid") //指定主键
    private int uid;
    private string username;
    private string password;
    private int age;
    private string gender;
    private localdate birthday;
    private string address;
}

service层

tuserservice 

package org.example.jd.service;
import org.example.jd.pojo.tuser;
import java.util.list;
public interface tuserservice {
    list<tuser> getuserlist();
}

tuserserviceimp 

package org.example.jd.service;
import org.example.jd.mapper.tusermapper;
import org.example.jd.pojo.tuser;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
import java.util.list;
@service
public class tuserserviceimp implements tuserservice {
    @autowired
    private tusermapper tusermapper;
    @override
    public list<tuser> getuserlist() {
        return tusermapper.selectlist(null);
    }
}

application启动类

package org.example.jd;
import org.mybatis.spring.annotation.mapperscan;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
@springbootapplication
@mapperscan("org.example.jd.mapper") //扫描mapper层
public class application {
    public static void main(string[] args) {
        springapplication.run(application.class, args);
    }
}

tusermapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<!doctype mapper
        public "-//mybatis.org//dtd mapper 3.0//en"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace是mapper层对应的接口名-->
<mapper namespace="org.example.jd.mapper.tusermapper">
    <!--id是mapper层对应的接口名中对应的方法名-->
<!--    <select id="myfinduserbyid" resulttype="user">-->
<!--        select *-->
<!--        from tb_user-->
<!--        where id = #{id}-->
<!--    </select>-->
</mapper>

mybatis-config.xml

<?xml version="1.0" encoding="utf-8" ?>
<!doctype configuration
        public "-//mybatis.org//dtd config 3.0//en" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--设置驼峰匹配,mybatisplus默认开启驼峰匹配-->
    <!--    <settings>-->
    <!--        <setting name="mapunderscoretocamelcase" value="true"/>-->
    <!--    </settings>-->
</configuration>

application.yml配置文件

server:
  port: 8090
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/myjd
    username: postgres
    password: 123456
    driver-class-name: org.postgresql.driver
#设置mybatis-plus
mybatis-plus:
  config-location: classpath:mybatis/mybatis-config.xml  #配置文件
  mapper-locations: classpath:mybatis/mapper/*.xml  #设置mapper层对应的接口对应的mapper.xml的路径
  type-aliases-package: org.example.jd.pojo  #设置别名,mapper.xml中resulttype="org.example.jd.pojo.tuser"可省去包,即resulttype="tuser"
  #开启自动驼峰映射,注意:配置configuration.map-underscore-to-camel-case则不能配置config-location,可写到mybatis-config.xml中
#  configuration:
#    map-underscore-to-camel-case: true

二、sql

/*
 navicat premium data transfer
 source server         : mypgsql
 source server type    : postgresql
 source server version : 160003 (160003)
 source host           : localhost:5432
 source catalog        : myjd
 source schema         : public
 target server type    : postgresql
 target server version : 160003 (160003)
 file encoding         : 65001
 date: 19/07/2024 22:15:18
*/
-- ----------------------------
-- table structure for tuser
-- ----------------------------
drop table if exists "public"."tuser";
create table "public"."tuser" (
  "uid" int4 not null,
  "username" varchar(255) collate "pg_catalog"."default",
  "age" int4,
  "gender" varchar(1) collate "pg_catalog"."default",
  "birthday" date,
  "address" varchar(255) collate "pg_catalog"."default",
  "password" varchar(255) collate "pg_catalog"."default"
)
;
-- ----------------------------
-- records of tuser
-- ----------------------------
insert into "public"."tuser" values (1, 'jack', 24, '男', '2021-10-19', '深圳', '123');
-- ----------------------------
-- primary key structure for table tuser
-- ----------------------------
alter table "public"."tuser" add constraint "user_pkey" primary key ("uid");

三、运行

浏览器或者postman请求地址。

注意:浏览器只能测试get请求,如果有put、post、delete请使用postman测试。

http://localhost:8090/api/getuserlist

到此这篇关于springboot连接postgresql+mybatisplus入门案例的文章就介绍到这了,更多相关springboot连接postgresql内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com