Hibernate执行原生的sql语句
2017-12-19 10:35
330 查看
1,可以通过session.cretaeSQLQuery().executeUpdate()。来执行。
如:public void insertDemo(final String name,final String password){
final String nm=getNM();
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="insert into demo(nm,name,password) values('"+nm+"','"+name+"','"+password+"')";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
public void updateDemo(final String name,final String password){
Session session=getHibernateTemplate().getSessionFactory().getCurrentSession();
String sql="select nm from demo where name='"+name+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
List list=sqlQuery.list();
final String nm=list.get(0).toString();
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="update demo set name='"+name+"',password='"+password+"' where nm='"+nm+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
public void deleteDemo(final String name,final String password){
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="delete from demo where name='"+name+"' and password='"+password+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
2 可以执行select to_char(sysdate,'yyyymmssHH24mmss') from dual来得到nm作为主键。
如: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;
}
如:public void insertDemo(final String name,final String password){
final String nm=getNM();
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="insert into demo(nm,name,password) values('"+nm+"','"+name+"','"+password+"')";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
public void updateDemo(final String name,final String password){
Session session=getHibernateTemplate().getSessionFactory().getCurrentSession();
String sql="select nm from demo where name='"+name+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
List list=sqlQuery.list();
final String nm=list.get(0).toString();
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="update demo set name='"+name+"',password='"+password+"' where nm='"+nm+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
public void deleteDemo(final String name,final String password){
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql="delete from demo where name='"+name+"' and password='"+password+"'";
SQLQuery sqlQuery=session.createSQLQuery(sql);
int num=sqlQuery.executeUpdate();
return null;
}
});
}
2 可以执行select to_char(sysdate,'yyyymmssHH24mmss') from dual来得到nm作为主键。
如: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;
}
相关文章推荐
- weblogic hibernate关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题(www.50xiao.com)
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- hibernate执行原生sql语句问题
- 在SSH2开发平台下利用Hibernate Session对象执行原生Sql语句
- 使用Hibernate 5.0、4.0、3.0 createSQLQuery执行原生Sql语句 遇到问题及解决办法集锦
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题 .
- java---j2ee---hibernate执行原生Sql语句的方法
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- Hibernate 执行原生sql语句字段名相同会被覆盖的问题
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- hibernate执行原生Sql语句的方法(转)
- hibernate执行sql语句
- hibernate 运行原生sql 语句 createSQLQuery
- 使用Hibernate SQLQuery执行原生SQL
- hibernate执行sql语句
- hibernate执行sql语句的返回类型为?
- 出错场景是升级oracle驱动,将版本从ojdbc14升级到ojdbc6,hibernate执行原生态sql语句会报如下错误
- 使用Hibernate SQLQuery执行原生SQL
- hibernate 原生sql返回结果执行AddEntity方法