在spring中使用hibernate
一、基本配置
在Spring的servlet-context.xml文件中添加
<!-- 配置数据库 --><!-- 简单的使用jdbc的DriverManagerDataSource,没有连接池 --><beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><beans:property name="driverClassName" value="com.mysql.jdbc.Driver" /><beans:property name="url" value="jdbc:mysql://localhost:3306/your_database" /><beans:property name="username" value="your_name" /><beans:property name="password" value="your_password" /></beans:bean><!-- 配置hibernate的session factory --><beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><beans:property name="dataSource" ref="dataSource" /><!-- 定义去哪些包下扫描实体类(@Entity注解) --><beans:property name="packagesToScan"><beans:list><!-- 可以加多个包 --><beans:value>com.funway.mybet.model</beans:value></beans:list></beans:property><beans:property name="hibernateProperties"><beans:props><beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</beans:prop><beans:prop key="hibernate.show_sql">true</beans:prop><beans:prop key="hibernate.format_sql">true</beans:prop><beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop></beans:props></beans:property></beans:bean>
然后如果没有Lib的话,我们需要在maven的pom.xml配置文件中添加如下几个dependency,来自动添加hibernate所需要的库。
然后定义一个获取User的Dao(暂时,我们不考虑User实体类,以及它与数据库User表的映射关系,只考虑从User表中获取用户数)
@Repositorypublic class UserDaoHibernate {@Autowiredprivate SessionFactory sessionFactory;public int getUserCounts() {Session session = sessionFactory.openSession();Query query = (Query) session.createSQLQuery("select count(*) from mb_user");int counts = Integer.parseInt(query.list().get(0).toString());session.close();return counts;}}
上面,我们使用@Repository注解声明自动生成一个UserDaoHibernate类型的实例对象,用@Autowired注解将servlet-context.xml中定义的sessionFactory注入到成员属性中。
然后,我们就可以在任意地方调用这个UserDaoHibernate实例的getUserCounts( )方法了。以一个Controller为例:
@Controllerpublic class HomeController {@Autowiredprivate UserDaoHibernate userDao;/*** ...省略**/@RequestMapping(value="/hiber", produces = "text/plain;charset=UTF-8")public @ResponseBody String testJdbcTemplate() {return "已注册用户数: " + userDao.getUserCounts();}
二、使用xml配置的声明式事务
晚点写!!!!!!!!!!!!!!!!!!!!!!!!现在没空要吃饭
— 于 ,共写了2420个字;
— 文内使用到的标签:linux
- 下一篇:给DEDECMS栏目增加指定css 样式
- 上一篇:php生成静态html文件

相当不错,自愧不如!