1,得到主键的方法,第一:通过sysdate来得到,
如:public String getNM(){
String nm="";
nm=(String) getHibernateTemplate().execute(new HibernateCallback(){
public String doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="select to_char(sysdate,'yyyymmssHH24mmss') from dual";
List list=session.createSQLQuery(sql).list();
String nm_new=list.get(0).toString();
return nm_new;
}
});
return nm;
}
第二,通过UUID,
如:public String getNM_UUID(){
String nm=java.util.UUID.randomUUID().toString();
return nm;
}
第三:通过MD5,
如: public String getNMforTimeMD5() throws NoSuchAlgorithmException{
long timer=new java.util.Date().getTime();
MessageDigest md=MessageDigest.getInstance("MD5");
String ts=String.valueOf(timer).toString();
md.update(ts.getBytes());
byte[] bytes=md.digest();
StringBuffer sb=new StringBuffer();
for(int i=0;i<bytes.length;i++){
int num=bytes[i];
if(num<0){
num=num+225;
sb.append(Integer.toHexString(num));
}else if(num<=15){
sb.append("0"+Integer.toHexString(num));
}else{
sb.append(Integer.toHexString(num));
}
}
return sb.toString();
}
2加密,通过MD5加密,
如:public static String getValueforMD5(String value) {
MessageDigest md5;
StringBuffer sb=new StringBuffer();
try {
md5 = MessageDigest.getInstance("MD5");
md5.update(value.getBytes());
byte[] bytes=md5.digest();
for(int i=0;i<bytes.length;i++){
//byte[] bytes1=new byte[1];
//bytes1[0]=bytes[i];
//String num=new String(bytes1);
int num_int=bytes[i];
if(num_int<0){
num_int=num_int+225;
sb.append(Integer.toHexString(num_int));
}else if(num_int<15){
sb.append("0"+Integer.toHexString(num_int));
}else{
sb.append(Integer.toHexString(num_int));
}
}
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
return sb.toString();
}
如:public String getNM(){
String nm="";
nm=(String) getHibernateTemplate().execute(new HibernateCallback(){
public String doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="select to_char(sysdate,'yyyymmssHH24mmss') from dual";
List list=session.createSQLQuery(sql).list();
String nm_new=list.get(0).toString();
return nm_new;
}
});
return nm;
}
第二,通过UUID,
如:public String getNM_UUID(){
String nm=java.util.UUID.randomUUID().toString();
return nm;
}
第三:通过MD5,
如: public String getNMforTimeMD5() throws NoSuchAlgorithmException{
long timer=new java.util.Date().getTime();
MessageDigest md=MessageDigest.getInstance("MD5");
String ts=String.valueOf(timer).toString();
md.update(ts.getBytes());
byte[] bytes=md.digest();
StringBuffer sb=new StringBuffer();
for(int i=0;i<bytes.length;i++){
int num=bytes[i];
if(num<0){
num=num+225;
sb.append(Integer.toHexString(num));
}else if(num<=15){
sb.append("0"+Integer.toHexString(num));
}else{
sb.append(Integer.toHexString(num));
}
}
return sb.toString();
}
2加密,通过MD5加密,
如:public static String getValueforMD5(String value) {
MessageDigest md5;
StringBuffer sb=new StringBuffer();
try {
md5 = MessageDigest.getInstance("MD5");
md5.update(value.getBytes());
byte[] bytes=md5.digest();
for(int i=0;i<bytes.length;i++){
//byte[] bytes1=new byte[1];
//bytes1[0]=bytes[i];
//String num=new String(bytes1);
int num_int=bytes[i];
if(num_int<0){
num_int=num_int+225;
sb.append(Integer.toHexString(num_int));
}else if(num_int<15){
sb.append("0"+Integer.toHexString(num_int));
}else{
sb.append(Integer.toHexString(num_int));
}
}
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
return sb.toString();
}