后端接收前端yyyy-MM-dd HH:MM:SS类型日期,实体类应该怎么写
时间: 2024-02-19 13:04:02 浏览: 91
如果你使用的是Java语言,可以使用Java自带的Date类来表示日期时间。在实体类中,可以将日期时间属性定义为Date类型,并且使用注解来指定该属性对应的数据库字段类型。示例代码如下:
```java
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "my_table")
public class MyEntity {
@Column(name = "my_date", columnDefinition = "DATETIME")
private Date myDate;
// 其他属性和方法
}
```
在上面的示例代码中,我们定义了一个名为`myDate`的日期时间属性,并且使用了`@Column`注解来指定该属性对应的数据库字段名称为`my_date`,字段类型为`DATETIME`。这样,在接收前端传来的`yyyy-MM-dd HH:mm:ss`日期时间字符串时,我们可以使用Java自带的SimpleDateFormat类来将其转换为Date类型,并赋值给`myDate`属性。
相关问题
后端实体类接收前端yyyy-MM-dd HH:MM:SS类型如何接收
如果你使用的是Java语言,可以使用Java自带的SimpleDateFormat类来解析前端传来的时间字符串。具体的代码可以参考以下示例:
```java
String dateString = "2022-01-01 12:00:00";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse(dateString);
```
这样就可以将前端传来的时间字符串解析为Java的Date对象,然后可以将其赋值给后端实体类中的相应属性。
select * from zdyjkzbjl where jsbh='330400111' and TO_CHAR( pbrq , 'yyyy-mm-dd')='2023-05-23' and bc ='1' and TO_CHAR( jbsj , 'yyyy-mm-dd hh24:MI')<>'2023-05-23 07:50' and TO_CHAR( jiaobsj , 'yyyy-mm-dd hh24:MI')<>'2023-05-23 19:50' and TO_CHAR( now() , 'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-23 07:50:00' and '2023-05-23 17:00:00'; --一班次 23/07- 23/17 提醒时间 select * from zdyjkzbjl where jsbh='330400111' and TO_CHAR( pbrq , 'yyyy-mm-dd')='2023-05-23' and bc ='2' and TO_CHAR( jbsj , 'yyyy-mm-dd hh24:MI')='2023-05-23 19:50' and TO_CHAR( jiaobsj , 'yyyy-mm-dd hh24:MI')='2023-05-24 01:50' and TO_CHAR( now(), 'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-23 17:00:00' and '2023-05-24 01:30:00'; --二班次 23/17 -24/01 提醒时间 select * from zdyjkzbjl where jsbh='330400111' and TO_CHAR( pbrq , 'yyyy-mm-dd')='2023-05-23' and bc='3' and TO_CHAR( jbsj , 'yyyy-mm-dd hh24:MI')<>'2023-05-24 01:50' and TO_CHAR( jiaobsj , 'yyyy-mm-dd hh24:MI')<>'2023-05-24 07:50' and TO_CHAR( now() , 'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-24 01:30:00' and '2023-05-24 07:50:00'; 如何根据时间来分别调用其中的一个sql ,使用java 和mybatis
您可以使用Java中的Date或LocalDateTime类来获取当前时间,然后根据时间来判断调用哪个SQL语句。
假设您已经有了对应的Mapper接口和SQL语句,您可以按照以下步骤操作:
1. 在Mapper接口中定义三个方法,分别对应三个SQL语句:
```java
public interface ZdyjkzbjlMapper {
List<Zdyjkzbjl> selectOne(String jsbh);
List<Zdyjkzbjl> selectTwo(String jsbh);
List<Zdyjkzbjl> selectThree(String jsbh);
}
```
2. 在mybatis的配置文件中,将这三个方法与对应的SQL语句进行绑定:
```xml
<mapper namespace="com.example.mapper.ZdyjkzbjlMapper">
<select id="selectOne" resultType="com.example.entity.Zdyjkzbjl">
select * from zdyjkzbjl where jsbh=#{jsbh} and TO_CHAR(pbrq,'yyyy-mm-dd')=#{date} and bc='1' and TO_CHAR(jbsj,'yyyy-mm-dd hh24:MI')<>'2023-05-23 07:50' and TO_CHAR(jiaobsj,'yyyy-mm-dd hh24:MI')<>'2023-05-23 19:50' and TO_CHAR(now(),'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-23 07:50:00' and '2023-05-23 17:00:00'
</select>
<select id="selectTwo" resultType="com.example.entity.Zdyjkzbjl">
select * from zdyjkzbjl where jsbh=#{jsbh} and TO_CHAR(pbrq,'yyyy-mm-dd')=#{date} and bc='2' and TO_CHAR(jbsj,'yyyy-mm-dd hh24:MI')='2023-05-23 19:50' and TO_CHAR(jiaobsj,'yyyy-mm-dd hh24:MI')='2023-05-24 01:50' and TO_CHAR(now(),'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-23 17:00:00' and '2023-05-24 01:30:00'
</select>
<select id="selectThree" resultType="com.example.entity.Zdyjkzbjl">
select * from zdyjkzbjl where jsbh=#{jsbh} and TO_CHAR(pbrq,'yyyy-mm-dd')=#{date} and bc='3' and TO_CHAR(jbsj,'yyyy-mm-dd hh24:MI')<>'2023-05-24 01:50' and TO_CHAR(jiaobsj,'yyyy-mm-dd hh24:MI')<>'2023-05-24 07:50' and TO_CHAR(now(),'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-24 01:30:00' and '2023-05-24 07:50:00'
</select>
</mapper>
```
3. 在Java代码中,获取当前时间并根据时间调用对应的方法:
```java
ZdyjkzbjlMapper mapper = sqlSession.getMapper(ZdyjkzbjlMapper.class);
String jsbh = "330400111";
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
LocalDateTime now = LocalDateTime.now();
if (now.isBefore(LocalDateTime.of(2023, 5, 23, 7, 50))) {
List<Zdyjkzbjl> list = mapper.selectOne(jsbh, date);
// do something with the result
} else if (now.isBefore(LocalDateTime.of(2023, 5, 23, 17, 0))) {
List<Zdyjkzbjl> list = mapper.selectTwo(jsbh, date);
// do something with the result
} else if (now.isBefore(LocalDateTime.of(2023, 5, 24, 7, 50))) {
List<Zdyjkzbjl> list = mapper.selectThree(jsbh, date);
// do something with the result
}
```
请注意,这里假设您已经成功地建立了Mybatis的配置文件,并且已经创建了对应的实体类Zdyjkzbjl。另外,这里的时间判断仅供参考,请根据您的实际需求进行调整。
阅读全文