如果使用的是PreparedStatement接口:
String sql = "insert into 表名(date类型的列) values(?)"
PreparedStatement stmt = con.prepareStatement(sql)
stmt.setDate(1, date对象)
stmt.executeUpdate()
如果使用的是Statement接口:
java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd") // mssql、mysql格式
java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy") // oracle格式
String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象))
Statement stmt = con.createStatement()
stmt.executeUpdate(sql)
使用Hibernate和mybaits的确就不用关心类型转换问题了~
可以使用.net提供的序列化和反序列化方法来实现,你可将对象序列化成XML字符串,然后存入数据库中,当你要使用对象的时候,再把数据库中保存字符串反序列化成对象就可以使用了,以下为示例代码:
public class Cat{
public string Color { get set }
public int Speed { get set }
public string Name{ get set }
}
//序列化
var cat1=new Cat{Color="Write",Speed=50,Name="MiMi" }
XmlSerializer ser = new XmlSerializer(typeof(Cat))
MemoryStream ms = new MemoryStream()
ser.Serialize(ms, cat1)
string xmlString = Encoding.UTF8.GetString(ms.ToArray())
//xmlString就是你要保存到数据库的字符串
//反序列化
XmlSerializer dser = new XmlSerializer(typeof(Cat))
//xmlString是你从数据库获取的字符串
Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString))
Cat cat2=dser.Deserialize(xmlStream) as Cat//cat2 就是你要得到的class对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)