- 浏览: 788182 次
- 性别:
- 来自: 淄博
文章分类
- 全部博客 (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 542两种方法: 1、PropertyPlaceholderCo ... -
Spring中报"Could not resolve placeholder"的解决方案
2019-03-26 15:34 489除去properites文件路径错误、拼写错误外,出现&qu ... -
SpringMVC 请求路径结尾存在.使用@PathVariable访问路径内容,路径参数获取不准确的问题
2018-06-23 09:45 1550SpringMVC采用Get方式请求资源时,如果请求路径的结 ... -
Sping MVC http status 400 错误分析
2015-01-15 13:02 7004http status 400 错误,是说参数有错误,解析 ... -
Spring 定时任务之 @Scheduled cron表达式
2014-08-22 08:44 165014一个cron表达式有至少6个(也可能7个)有空格分隔的时间元 ... -
java.lang.IllegalStateException: Ambiguous mapping found.
2013-09-27 16:07 12508java.lang.IllegalStateExcep ... -
Ambiguous mapping found. Cannot map 'xxxController' bean method
2013-04-24 09:56 5044java.lang.IllegalStateExceptio ... -
org.xml.sax.SAXParseException: cvc-complex-type.2.4.c:
2013-02-25 11:06 3099org.xml.sax.SAXParseException ... -
Hibernate中的merge使用详情
2012-12-18 15:39 1045merge的作用是: 新new一个对象, 如果该对象设置了 ... -
浅谈Spring事务隔离级别(转载)
2010-07-21 10:38 1144转载地址:http://zhangbenben.iteye.c ... -
spring quartz cronExpression配置实例及说明
2010-04-09 08:22 1450转载地址:http://faceye.com/haipe ... -
Spring2.5注解不需要接口注入的方法
2010-01-22 08:18 3522最近用到了Spring2.5的注解,一般情况下是需要注入接口才 ...
相关推荐
进入hjs_cms/install目录下,修改好远程服务器的业务配置环境(persion.conf)和远程服务器的ssh配置(secret.py),并行: ``` python publish_hjs_cms.py deploy $srv_ip ``` 注意: 1. 执行publish_hjs_cms.py...
对源MAC、IP地址、端口、IP协议、协议(ICMP、TCP、MSS等)、接口、对内部的数据包和连接作标记、ToS 字节、内容过滤、顺序优先与数据频繁和时间控制、包长度控制... l 路由 – 静态路由;多线路平衡路由;基于策略...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
主频不低于 2.0GHz " " " " "内存 " "配置384G 12*32GB RDIMM, 2666MT/s, 双列,支持16根插槽 "是 " " " "内存类型" "支持RDIMM、LRDIMM、NVDIMM内存条,提供彩页或官网截图证明 "是 " " " "硬盘 " "配置2个600GB ...
件的比较 6 1.3.5 域的概念 6 1.4 小结 7 第2章 按服务器配置安装Linux 8 2.1 安装之前 8 2.1.1 硬件设备 8 2.1.2 服务器主机的规划 9 2.1.3 双引导系统 10 2.1.4 安装方式 11 2.1.5 ...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
9.1.2 自己构造源代码 156 9.2 服务器运行配置的设置 157 9.2.1 编辑httpd.conf文件 158 9.2.2 .htaccess文件和访问限制 160 9.3 虚拟主机 161 9.3.1 基于地址的虚拟主机 161 9.3.2 基于名字的虚拟主机 162 9.4 日志...
2.5.7配置SSH用户等效性 2.5.8配置时间同步服务 2.5.9安装cvuqdisk包 2.5.10 CVU验证安装环境 2.6创建ASM磁盘 2.6.1安装ASMLib驱动 2.6.2创建ASMLib磁盘 2.7部署RAC 2.7.1安装Grid Infrastructure 2.7.2...
5.10 多数据源的应用 338 5.11 jdbc的应用 343 5.12 hibernate调用存储过程 343 5.13 xml数据持久化 346 5.14 小结 348 第6章 充分利用spring 2.5的ioc利器统管bean世界 349 6.1 java程序员的春天厚礼—spring...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
双冗余电源。 2 工作模式 旁路镜像模式部署,不影响数据库性能和网络架构;支持 IPV6环境部署和IPV6 环境下数据库的审计;支持分布式部署,管理中心可实现统一配置、统一报表、 统一查询。 管理中心和探测器都可存储...
4.1.3 使用WebLogic服务器管理的 数据源 182 4.1.4 使用JBoss服务器管理的数据源 187 4.2 事务和JTA 191 4.2.1 事务的基本概念 191 4.2.2 分布式事务处理、XA规范和 2PC协议 192 4.2.3 使用JTA全局事务保证多 数据库...
需" " " " " "提供支持对常见应用服务(FTP、IMAP、SSH、Telnet " " " " " "、SMTP、POP3)和数据库软件(MySQL、Oracle、MSSQL)的口令暴力破解防护功能的配置图并支持" " " " " "同防火墙访问控制规则进行联动; ...
需" " " " " "提供支持对常见应用服务(FTP、IMAP、SSH、Telnet " " " " " "、SMTP、POP3)和数据库软件(MySQL、Oracle、MSSQL)的口令暴力破解防护功能的配置图并支持" " " " " "同防火墙访问控制规则进行联动; ...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...