hibernate或jdbc如何进行多个参数语句的数据库 *** 作

hibernate或jdbc如何进行多个参数语句的数据库 *** 作,第1张

将三个选中的数据从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文件中实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9704096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存