将三个选中的数据从hibernate里面查询出来。
然后再执行删除 *** 作,面向对象觉度来思考撒
如果你非要用sql来写,那可以这样。比如你传了n个id过来删除。这n个id你保存在数组当中,比如为userId[];
那sql这样写
StringBuffer sql = new StringBuffer("delete from XXX where 1=2");
for(int i=0;i<userIdlength;i++){
sqlappend(" or userId="+userId[i]);
}
Query query = getSession()createSQLQuery(sqltoString);
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来 *** 纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。
·Session接口:Session接口负责执行被持久化对象的CRUD *** 作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的>
配置两个数据源,两个DAO对象,分别使用不同的数据源就可以了
<!-- 定义数据源 --><bean id="dataSource1" class="commchangev2c3p0ComboPooledDataSource" destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="${jdbcdriver}"/>
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="${jdbcurl}"/>
<!-- 指定连接数据库的用户名 -->
<property name="user" value="${jdbcusername}"/>
<!-- 指定连接数据库的密码 -->
<property name="password" value="${jdbcpassword}"/>
</bean>
<bean id="dataSource2" class="commchangev2c3p0ComboPooledDataSource" destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="${jdbcdriver1}"/>
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="${jdbcurl1}"/>
<!-- 指定连接数据库的用户名 -->
<property name="user" value="${jdbcusername1}"/>
<!-- 指定连接数据库的密码 -->
<property name="password" value="${jdbcpassword1}"/>
</bean>
<!-- SessionFactory配置 -->
<bean id="sessionFactory_old" class="orgspringframeworkormhibernate3annotationAnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource1" />
</bean>
<bean id="sessionFactory_new" class="orgspringframeworkormhibernate3annotationAnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource2" />
</bean>
DAO:
@Repository
public class BaseDao<T> extends HibernateDaoSupport {
protected Class<T> entityClass;
private SessionFactory mySessionFacotry;
@Resource(name="sessionFactory_old")
public void setMySessionFacotry(SessionFactory sessionFacotry) {
thismySessionFacotry = sessionFacotry;
}
@PostConstruct
public void injectSessionFactory() {
supersetSessionFactory(thismySessionFacotry);
}
}
@Repository
public class NewBaseDao<T> extends HibernateDaoSupport {
protected Class<T> entityClass;
private SessionFactory mySessionFacotry;
@Resource(name="sessionFactory_new")
public void setMySessionFacotry(SessionFactory sessionFacotry_new) {
thismySessionFacotry = sessionFacotry_new;
}
@PostConstruct
public void injectSessionFactory() {
supersetSessionFactory(thismySessionFacotry);
}
}
以上就是关于hibernate或jdbc如何进行多个参数语句的数据库 *** 作全部的内容,包括:hibernate或jdbc如何进行多个参数语句的数据库 *** 作、Hibernate是什么、如何使用hibernate对不同数据库的两张表进行增删改,而且要在hibernate的xml文件中实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)