首页 > 代码库 > SSH整合 Mysql日期问题

SSH整合 Mysql日期问题

Java数据类型Hibernate数据类型标准SQL数据类型
(PS:对于不同的DB可能有所差异)
byte、java.lang.BytebyteTINYINT
short、java.lang.ShortshortSMALLINT
int、java.lang.IntegerintegerINGEGER
long、java.lang.LonglongBIGINT
float、java.lang.FloatfloatFLOAT
double、java.lang.DoubledoubleDOUBLE
java.math.BigDecimalbig_decimalNUMERIC
char、java.lang.CharactercharacterCHAR(1)
boolean、java.lang.BooleanbooleanBIT
java.lang.StringstringVARCHAR
boolean、java.lang.Booleanyes_noCHAR(1)(‘Y‘或‘N‘)
boolean、java.lang.Booleantrue_falseCHAR(1)(‘Y‘或‘N‘)
java.util.Date、java.sql.DatedateDATE
java.util.Date、java.sql.TimetimeTIME
java.util.Date、java.sql.TimestamptimestampTIMESTAMP
java.util.CalendarcalendarTIMESTAMP
java.util.Calendarcalendar_dateDATE
byte[]binaryVARBINARY、BLOB
java.lang.StringtextCLOB
java.io.SerializableserializableVARBINARY、BLOB
java.sql.ClobclobCLOB
java.sql.BlobblobBLOB
java.lang.ClassclassVARCHAR
java.util.LocalelocaleVARCHAR
java.util.TimeZonetimezoneVARCHAR
java.util.CurrencycurrencyVARCHAR

外还要补充两个数据类型:

sql server                      hibernate                     java

int                          java.lang.Integer           java.lang.Integer

decimal                    big_decimal                 java.math.BigDecimal

在mysql下,数据库字段采用datetime存储登录时间,注册时间等,采用date存储生日。在hibernate映射文件,及java bean里定义如下。

javabean里获取当前时间,Date d = new Date();映射文件<property name="addtime" type= "timestamp" >,转换到mysql是datetime类型。

javabean里根据String转换为生日,Date d1 = new SimpleDateFormat("yyyy-MM-DD").parse("1999-09-09");需要try catch块;映射文件<property name="birthday" type="date" >,转换到mysql是date类型。

-------------------------------------------------------------------------------------------------------

1.配置数据源dataSource

2.配置sessionFactory。注意将关系映射文件全部配置到sessionfactory中。

3.配置事务管理器,启用事务。

4.struts-config.xml中添加

<controller>
<set-property property="processorClass" value="http://www.mamicode.com/org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>

请求交由spring接管。

5web.xml中配置spring

<!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

6.web.xml解决中文乱码问题,适用于struts1.3

<filter>

<filter-name>encoding</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encoding</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

7.解决hibernate session关闭导致的懒加载意外问题

<filter>

        <filter-name>OpenSessionInViewFilter</filter-name>

        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

        <filter-name>OpenSessionInViewFilter</filter-name>

        <url-pattern>/*</url-pattern>

</filter-mapping>

 

SSH整合 Mysql日期问题