1.pom.xml添加依赖:

org.springframework.session

spring-session-jdbc

2.application.properties添加配置

spring.session.store-type=jdbc

3.需要在数据库中创建两张表:

DROP TABLE IF EXISTS SPRING_SESSION_ATTRIBUTES;

DROP TABLE IF EXISTS SPRING_SESSION;

CREATE TABLE SPRING_SESSION (

PRIMARY_ID CHAR(36) NOT NULL,

SESSION_ID CHAR(36) NOT NULL,

CREATION_TIME BIGINT NOT NULL,

LAST_ACCESS_TIME BIGINT NOT NULL,

MAX_INACTIVE_INTERVAL INT NOT NULL,

EXPIRY_TIME BIGINT NOT NULL,

PRINCIPAL_NAME VARCHAR(100),

CONSTRAINT SPRING_SESSION_PK PRIMARY KEY (PRIMARY_ID)

) ENGINE=INNODB ROW_FORMAT=DYNAMIC;

CREATE UNIQUE INDEX SPRING_SESSION_IX1 ON SPRING_SESSION (SESSION_ID);

CREATE INDEX SPRING_SESSION_IX2 ON SPRING_SESSION (EXPIRY_TIME);

CREATE INDEX SPRING_SESSION_IX3 ON SPRING_SESSION (PRINCIPAL_NAME);

CREATE TABLE SPRING_SESSION_ATTRIBUTES (

SESSION_PRIMARY_ID CHAR(36) NOT NULL,

ATTRIBUTE_NAME VARCHAR(200) NOT NULL,

ATTRIBUTE_BYTES BLOB NOT NULL,

CONSTRAINT SPRING_SESSION_ATTRIBUTES_PK PRIMARY KEY (SESSION_PRIMARY_ID, ATTRIBUTE_NAME),

CONSTRAINT SPRING_SESSION_ATTRIBUTES_FK FOREIGN KEY (SESSION_PRIMARY_ID) REFERENCES SPRING_SESSION(PRIMARY_ID) ON DELETE CASCADE

) ENGINE=INNODB ROW_FORMAT=DYNAMIC;

4.如何设置session的有效时间

src/main/resources/application.properties

spring.session.store-type=jdbc # Session store type.

server.servlet.session.timeout= # Session timeout.

例子:

78ec22dd1ca81c57d1437c15f9ef5ced.png

spring session官网:https://docs.spring.io/spring-session/docs/2.2.0.RELEASE/reference/html5/

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐