mysql建表问题
我想建一个表,
列有 id name password create_time
当插入name和password的时候,id自动填写,create_time也自己写上当前时间。
还有就是TIME DATE TIMESTAMP感觉不太明白
因为最近写个程序出了个异常
Exception Description: The type [class java.sql.Timestamp] for the attribute [createTime] on the entity class [class com.bbs.bean.User] is not a valid type for a temporal mapping
高手给说一下吧。
------解决方案--------------------TIME DATE TIMESTAMP格式是:1988-12-25-17.12.30.000000
数据库厂商定义不同
------解决方案--------------------本人也是菜鸟一个  我也遇到过你的问题  下面这2段代码希望对你有帮助  
MYSQL语句
select now();  显示当前日期
select date_format(now(),'%y-%m-%d %h:%i:%s');
insert into emp values(9999,'test','clerk',7639,'1795-12-27 12:00:00',8000,80,10);  插入日期
从MYSQL数据库中取日期
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class TestDate {
	public static void main(String[] args) throws Exception{
		Class.forName("com.mysql.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/datademo?user=root&password=root");
		PreparedStatement pst = conn.prepareStatement("select hiredate from demo");
		ResultSet rs = pst.executeQuery();
		while(rs.next())
		{
			Date d = rs.getDate("hiredate");
			//Time t = rs.getTime("hiredate");
//			//把数据库取出的Date类型转换成字符串
//			SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//			System.out.println(sdf.format(d));
//			//转换成数值类型
//			Calendar c = Calendar.getInstance();
//			c.setTime(d);
//			System.out.println(c.get(Calendar.MONTH));			
			//时间戳
			Timestamp ts = rs.getTimestamp("hiredate");
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
			System.out.println(sdf.format(ts));						
		}
		rs.close();
		pst.close();
		conn.close();
	}
}
------解决方案--------------------create table user
(
  id                        varchar(10)   primary key      auto_increment  not null,
  name                      varchar(20)                      not null,
  password                       varchar(20),
  create_date                    datetime
);
auto_increment 自增长
sql= ”insert into user values(?,?,?,?)”;
pstmt.setTimestamp(4, new Timestamp(user.getCreateDate().getTime()));
通过预编译PrepareStatement对象pstmt调用setTimeStamp方法
4代表sql语句中第四个问号
TimeStamp中需要参数是自1970年到“参数日”的毫秒数;
user是一个bean;包含 createDate属性和get,set方法
Date date = new Date();不带参数返回当前系统时间
  Date  getCreateDate(){
     return  date;
}
user.getCreateDate().getTime()返回当前系统时间距1970年1yue一日的毫秒数
------解决方案--------------------上一个回帖有些错误
id自增长  
sql= ”insert into user values(null,?,?,?)”;