- 浏览: 803418 次
- 性别:
- 来自: 淄博
文章分类
- 全部博客 (250)
- Hibernate (29)
- FCKEditor (5)
- Jstl (6)
- JavaScript (33)
- 异常备忘 (49)
- Mysql (1)
- XP小技巧 (8)
- Java基础 (48)
- Freemarker (6)
- Birt (5)
- SQL (22)
- Spring (13)
- XHTML+CSS (7)
- Struts (5)
- ExtJs (13)
- Tomcat (7)
- JFreeChart (1)
- Json-Lib (0)
- Jquery&EasyUI (22)
- MyEclipse (4)
- Firefox (1)
- Apache Shiro (1)
- Oracle (5)
- Spring Security (2)
- SQLServer (6)
- Bootstrap (1)
- POI (2)
- SpringMVC (4)
最新评论
-
xinglianxlxl:
对我有用,谢谢
Spring 定时任务之 @Scheduled cron表达式 -
cb_2017:
...
Spring 定时任务之 @Scheduled cron表达式 -
a251628111:
谢谢分享
Spring 定时任务之 @Scheduled cron表达式 -
hl174:
确实是这个问题 不知道谁把数据库改了
java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss -
gotosuzhou:
zhangzi 写道lylshr 写道顶,大哥你真强啊晕死,这 ...
数据库是SQLServer2008,出现'limit' 附近有语法错误
要求:
项目默认数据源是Sqlserver,在Sqlserver数据库中创建一个表A,表结构与Oracle数据库中的表A一样,每天读取Oracle数据库中表A新数据插入到Sqlserver数据库表A中
1. applicationContext-hibernate.xml配置增加了Oracle数据源的配置代码
<!-- Oracle 数据源 --> <bean id="dataSourceOracle" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.oracle.driverClassName}"/> <property name="jdbcUrl" value="${jdbc.oracle.url}"/> <property name="user" value="${jdbc.oracle.username}"/> <property name="password" value="${jdbc.oracle.password}"/> <property name="initialPoolSize" value="10"/> <property name="minPoolSize" value="10"/> <property name="maxPoolSize" value="50"/> <property name="checkoutTimeout" value="5000"/> <property name="maxIdleTime" value="1800"/> <property name="idleConnectionTestPeriod" value="3000"/> <property name="acquireIncrement" value="5"/> </bean> <bean id="sessionFactoryOracle" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSourceOracle"/> <property name="annotatedClasses"> <list> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop> </props> </property> </bean>
2. applicationContext-quartz.xml 定时任务重点代码:
<bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <!-- 读取Oracle触发器 --> <ref bean="readOracleDataCronTrigger"/> </list> </property> <property name="configLocation" value="classpath:conf/quartz.properties"/> </bean> <!-- 【【【【读取Oracle数据】】】】 --> <bean id="readOracleDataCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="readOracleDataJobDetail"/> <!--每天23:10执行一次--> <property name="cronExpression" value="0 10 23 * * ?"/> </bean> <bean id="readOracleDataJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="readOracleDataInsertSqlserverTask"/> <property name="targetMethod" value="readOracleDataInsertSqlserver"/> </bean> <bean id="readOracleDataInsertSqlserverTask" class="alpha.vehicle.quartz.ReadOracleDataInsertSqlserverTask"> <!-- 配置Oracle的SessionFactory --> <property name="sessionFactory"> <ref bean="sessionFactoryOracle" /> </property> <!-- 配置Sqlserver的SessionFactory --> <property name="sessionFactorySqlserver"> <ref bean="sessionFactory" /> </property> </bean>
3. ReadOracleDataInsertSqlserverTask.java读取数据插入数据类:
private static DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd"); //默认的SessionFactory是Oracle数据源的 //这里要用到Sqlserver数据源的SessionFactory private SessionFactory sessionFactorySqlserver; public SessionFactory getSessionFactorySqlserver() { return sessionFactorySqlserver; } public void setSessionFactorySqlserver(SessionFactory sessionFactorySqlserver) { this.sessionFactorySqlserver = sessionFactorySqlserver; } //执行数据读取并插入 public void readOracleDataInsertSqlserver(){ logger.info("oracle到sqlserver数据开始..."); batchInsert(); logger.info("oracle到sqlserver数据结束..."); } //得到sqlserver数据源的template protected HibernateTemplate getHibernateTemplateSqlServer(){ HibernateTemplate template = new HibernateTemplate(sessionFactorySqlserver); return template; } //得到sqlserver中Realrec的最大序号 public int getMaxRecBySqlserverRealrec(){ Long count = (Long) getHibernateTemplateSqlServer().execute(new HibernateCallback(){ @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery("select max(realrec.rec) from Realrec realrec"); return query.uniqueResult(); }}); return count==null?0:count.intValue(); } //得到Oracle的REALREC表中的10条记录 @SuppressWarnings("unchecked") public List<Object[]> getRealrecByOracleRealrec(final int maxRecBySqlserverRealrec){ return getHibernateTemplate().executeFind(new HibernateCallback(){ @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { String sql = "SELECT REC, DESK, OILNUM, PRICE, LIT, MONEY, RQ, CUSCRDNUM, MON, TRACKNUM, UNCODE, UNIT, RESULT FROM REALREC WHERE REC > "+maxRecBySqlserverRealrec+" ORDER BY REC"; logger.info("========>"+sql); Query query = session.createSQLQuery(sql); return query.list(); }}); } //往sqlserver中添加数据 public void batchInsert() { getHibernateTemplateSqlServer().execute(new HibernateCallback(){ @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { //sqlserver的Realrec表中最大序号(最后一条记录序号(总记录数)) int maxRecBySqlserverRealrec = getMaxRecBySqlserverRealrec(); //Oracle的Realrec表中的10条记录 List<Object[]> listByOracleRealrec = getRealrecByOracleRealrec(maxRecBySqlserverRealrec); Realrec realrec = null; int i = 0; //循环插入到Sqlserver中去 for(Object[] realrecByOracle : listByOracleRealrec){ i++; realrec = new Realrec(); realrec.setRec(realrecByOracle[0] == null?null:Long.valueOf(realrecByOracle[0].toString())); realrec.setDesk(realrecByOracle[1] == null?null:Long.valueOf(realrecByOracle[1].toString())); realrec.setOilNum(realrecByOracle[2] == null?null:realrecByOracle[2].toString()); realrec.setPrice(realrecByOracle[3] == null?null:Double.valueOf(realrecByOracle[3].toString())); realrec.setLit(realrecByOracle[4] == null?null:Double.valueOf(realrecByOracle[4].toString())); realrec.setMoney(realrecByOracle[5] == null?null:Double.valueOf(realrecByOracle[5].toString())); try { realrec.setRq(realrecByOracle[6] == null?null:dateformat.parse(realrecByOracle[6].toString())); } catch (ParseException e) { e.printStackTrace(); } realrec.setCuscrdNum(realrecByOracle[7] == null?null:realrecByOracle[7].toString()); realrec.setMon(realrecByOracle[8] == null?null:Double.valueOf(realrecByOracle[8].toString())); realrec.setTrackNum(realrecByOracle[9] == null?null:realrecByOracle[9].toString()); realrec.setUnCode(realrecByOracle[10] == null?null:realrecByOracle[10].toString()); realrec.setUnit(realrecByOracle[11] == null?null:realrecByOracle[11].toString()); realrec.setResult(realrecByOracle[12] == null?null:realrecByOracle[12].toString()); getHibernateTemplateSqlServer().save(realrec); if(i % 50 == 0){ session.flush(); session.clear(); } } return null; }}); }
发表评论
-
xml中从配置文件读取配置信息
2019-03-26 15:53 587两种方法: 1、PropertyPlaceholderCo ... -
Spring中报"Could not resolve placeholder"的解决方案
2019-03-26 15:34 546除去properites文件路径错误、拼写错误外,出现&qu ... -
SpringMVC 请求路径结尾存在.使用@PathVariable访问路径内容,路径参数获取不准确的问题
2018-06-23 09:45 1609SpringMVC采用Get方式请求资源时,如果请求路径的结 ... -
Sping MVC http status 400 错误分析
2015-01-15 13:02 7070http status 400 错误,是说参数有错误,解析 ... -
Spring 定时任务之 @Scheduled cron表达式
2014-08-22 08:44 165257一个cron表达式有至少6个(也可能7个)有空格分隔的时间元 ... -
java.lang.IllegalStateException: Ambiguous mapping found.
2013-09-27 16:07 12555java.lang.IllegalStateExcep ... -
Ambiguous mapping found. Cannot map 'xxxController' bean method
2013-04-24 09:56 5084java.lang.IllegalStateExceptio ... -
org.xml.sax.SAXParseException: cvc-complex-type.2.4.c:
2013-02-25 11:06 3158org.xml.sax.SAXParseException ... -
Hibernate中的merge使用详情
2012-12-18 15:39 1087merge的作用是: 新new一个对象, 如果该对象设置了 ... -
浅谈Spring事务隔离级别(转载)
2010-07-21 10:38 1190转载地址:http://zhangbenben.iteye.c ... -
spring quartz cronExpression配置实例及说明
2010-04-09 08:22 1494转载地址:http://faceye.com/haipe ... -
Spring2.5注解不需要接口注入的方法
2010-01-22 08:18 3573最近用到了Spring2.5的注解,一般情况下是需要注入接口才 ...
相关推荐
在"ssh双数据源登录.rar"这个压缩包中,可能包含的文件有配置文件(如spring配置文件、hibernate配置文件)、Java源代码(如Service、DAO层的实现)以及相关的测试用例。通过这些文件,开发者可以学习如何在实际项目...
在这个“ssh双数据源登录实例”中,我们将探讨如何在同一个项目中配置并使用两个不同的数据库数据源,这对于多租户或多模块系统来说非常常见。 首先,我们需要理解SSH框架各自的职责: 1. Spring:作为核心容器,...
同时,Spring也负责配置数据源和SessionFactory。在web.xml中,配置`ContextLoaderListener`来启动Spring容器,并指定配置文件的位置。 整合DWR与SSH,可以创建一个富客户端应用,利用DWR实现实时交互,而SSH负责...
1. **源代码**:这可能包括一个简单的Web应用,含有DWR的配置文件,以及使用JSch和DWR进行交互的Java类。Java类可能有一个方法,该方法通过JSch连接到SSH服务器,执行特定的命令,然后将结果返回给调用的JavaScript...
3. **SSH的配置**:SSH配置文件通常位于`/etc/ssh/sshd_config`,其中可以设定各种参数,如端口号、允许的认证方法、密钥路径等。正确配置这些参数能增强系统的安全性。 4. **密钥对生成**:SSH支持使用`ssh-keygen...
这表明WebSSH项目可能是开源的,允许用户查看、学习甚至修改其源代码。作为一个工具,WebSSH为开发者和系统管理员提供了便捷的远程管理手段,尤其是在跨平台或移动设备上。 【知识点详解】 1. SSH(Secure Shell)...
本资源提供了一个简单的DWR与SSH集成的源代码示例,虽然可能在规范性上存在一些不足,但其主要目的是为了帮助初学者理解和实践这两个框架的整合。 **DWR(Direct Web Remoting)** 是一种Java库,允许JavaScript和...
5. **SSH配置**:理解`sshd_config`配置文件,学习如何修改参数以满足特定的安全需求,如限制用户权限、改变默认端口等。 6. **密钥管理**:掌握如何生成、备份、恢复、导入和导出SSH密钥,以及如何设置密钥对的...
5. **MySQL数据库配置**:在SSH2项目中,首先需要在Spring配置文件中设置数据源,包括数据库URL、用户名、密码等信息。然后,通过Hibernate的配置文件指定数据库方言、连接池等参数,确保Hibernate能够正确连接到...
这些内容对于开发人员来说是宝贵的资源,可以指导他们正确地配置和驱动OLED屏幕,确保其在各种应用场景下正常工作。 在实际使用中,开发人员需要了解SH1106的I2C或SPI通信协议,以便通过微控制器与之交互。I2C通常...
2. 如果选择使用Spring管理数据源,可以在`spring.xml`中配置数据源,从而替代`hibernate.cfg.xml`中的数据源配置。 三、Spring整合 1. 在`WEB-INF/lib`目录下添加Spring所需的jar包,并在`src`目录下创建`spring....
配置双主多从需要在 my.cnf 文件中添加以下内容: [mysqld] server-id = 1 log-bin = /var/log/mysql/binlog relay-log = /var/log/mysql/relaylog binlog-do-db = mysql auto_increment_increment = 2 auto_...
这个"webssh2-master.zip"文件包含的是WebSSH2项目的源代码,可能是从GitHub或其他版本控制系统上下载的master分支的最新版本。 以下是关于WebSSH2及其相关技术的知识点: 1. **SSH(Secure Shell)**:SSH是一种...
在文件"PageDivision"中,可能包含了SSH框架的配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)、Java源代码(如Controller、Service、DAO类)、DWR配置文件(dwr.xml)、以及相关的HTML和JavaScript文件。...
2. 数据绑定:它允许开发者将UI组件与数据源绑定,实现双向数据同步,简化了数据管理。 3. 强大的组件系统:EXTJS提供了大量预定义的组件,可以快速构建复杂的用户界面。 4. 动态加载:通过Ajax技术,EXTJS可以实现...
在IT行业中,SSH被广泛应用于远程管理服务器、数据传输加密以及隧道连接等场景,是网络管理员和开发人员不可或缺的工具之一。SSH不仅提供了一个安全的登录方式,还支持X11转发、代理跳板、端口转发等功能,极大地...
BlazeDS是Adobe推出的一个开放源代码项目,它允许在Flex客户端与Java服务器之间进行实时双向通信,支持AMF数据格式,提供了数据推送、远程调用等功能。 在这个"ssh+flex+blazed"的集成过程中,我们主要涉及到以下几...
在"基于SSH2资源的开发和使用Hibernate synchronizer 开发的Hibernate应用"中,`Hibernate synchronizer`可能是指一种工具或者机制,用于同步Hibernate实体与数据库中的数据。这可能是为了在多个并发会话下保持数据...
- 数据存储可能在`.myhibernatedata`中,这是Hibernate的配置文件,定义了数据源、实体类和映射关系。 - `.mymetadata`、`.mystrutsdata`和`.springBeans`可能包含了项目的元数据、Struts2配置和Spring的bean定义。 ...