项目结构

一、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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论