社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
pom文件引入相关jar包,使用mysql数据库,阿里的连接池,和jackjson
<?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.monitot.server.api</groupId>
<artifactId>NewIdeaTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>NewIdeaTest</name>
<description>monitor function</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置文件中配置mysql,链接信息与jpa设置
配置文件详情
server.port=9188
spring.datasource.url=jdbc:mysql://192.168.88.12:3306/Test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.platform=mysql
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.jpa.database=MYSQL
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jackson.serialization.indent_output=true
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
实体类标注@EntityListeners(AuditingEntityListener.class),
在属性上使用@CreateDate注解,这样,jpa插入数据库时,会自动插入当前时间,
使用@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss")注解,在存取数据时会按照你指定的格式存取。
另外,在启动类上加入注解@EnableJpaAuditing
package com.example.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name="USERINFO")
public class UserInfo implements Serializable{
/**
*
*/
private static final long serialVersionUID = -3145519548971854247L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
private Integer ID;
@Column(name="NAME")
private String name;
@Column(name="CREATE_TIME")
@CreatedDate
@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss")
private Date createTime;
}
启动类
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableScheduling;
//禁止连数据库
//@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
@SpringBootApplication
@EnableJpaAuditing
@EnableScheduling
public class NewIdeaTestApplication {
public static void main(String[] args) {
SpringApplication.run(NewIdeaTestApplication.class, args);
}
}
这样就可以了,可以写接口测试一下
package com.example.Repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.entity.UserInfo;
public interface UserInfoRepository extends JpaRepository<UserInfo, Integer>{
}
package com.example.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import com.example.Repository.UserInfoRepository;
import com.example.entity.UserInfo;
@Service
public class UserInfoService {
@Autowired
private UserInfoRepository userInfoRepository;
public UserInfo saveInfo() {
UserInfo userInfo=new UserInfo();//此处新建的对象才能自动生成时间
userInfo.setName("yin");
return userInfoRepository.saveAndFlush(userInfo);
}
@Scheduled(cron=" 1/5 * * * * * ")
public void test() {
System.err.println(this.saveInfo());;
}
}
使用定时任务,输出结果如下:自动插入了时间
数据库插入的结果:时间格式与实体类指定的格式一致
总结:@CreateTime使用时,新建的对象才有用,传入的对象无效
原创文章,转载请注明出处
==================================================================================
如果认为这篇文章帮到了你,那就请领个红包打赏下吧
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!