为项目增加ibatis支持
2015-02-12 11:35
274 查看
需要做三件事
1 add jar file at pom.xml
2 add xml [entity.xml and sql]
2.1 clusterviewmodel.xml
2.2 sqlMapConfig.xml
2.3 db.properties
3 use it
1 add jar file at pom.xml
<dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-sqlmap</artifactId> <version>2.3.4.726</version> </dependency> <dependency> <groupId>com.upyoo.vmware</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.upyoo.vmware</groupId> <artifactId>jdbc</artifactId> <version>5.1.34</version> </dependency>
2 add xml [entity.xml and sql]
2.1 clusterviewmodel.xml
2.2 sqlMapConfig.xml
2.3 db.properties
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="clusterviewmodel"> <typeAlias alias="ClusterViewModel" type="com.upyoo.vmware.viewandmodel.ClusterViewModel" /> <statement id="insertClusterViewModel"> insert into cluster(id, description_name, vcenter_id, host_count, vm_count, cpu_core_count, vcpu_core_count, cpu_used_scale, cpu_portion_scale, memory_cap, vmemory_cap, memory_used_cap, memory_used_scale, memory_portion_scale, store_cap, store_used_cap, store_sas_cap, store_sas_used_cap, store_sas_used_scale, store_sata_cap, store_sata_used_cap, store_sata_used_scale, vstore_cap, store_portion_scale,last_update_time ) values(#id#, #description_name#, #vcenter_id#,#host_count#, #vm_count#, #cpu_core_count#, #vcpu_core_count#, #cpu_used_scale#, #cpu_portion_scale#, #memory_cap#, #vmemory_cap#, #memory_used_cap#, #memory_used_scale#, #memory_portion_scale#, #store_cap#, #store_used_cap#, #store_sas_cap#, #store_sas_used_cap#, #store_sas_used_scale#, #store_sata_cap#, #store_sata_used_cap#, #store_sata_used_scale#, #vstore_cap#, #store_portion_scale#,#last_update_time# )ON DUPLICATE KEY UPDATE vcenter_id=#vcenter_id#,description_name=#description_name#,host_count=#host_count#, vm_count=#vm_count#, cpu_core_count=#cpu_core_count#, vcpu_core_count=#vcpu_core_count#, cpu_used_scale=#cpu_used_scale#, cpu_portion_scale=#cpu_portion_scale#, memory_cap=#memory_cap#, vmemory_cap=#vmemory_cap#, memory_used_cap=#memory_used_cap#, memory_used_scale=#memory_used_scale#, memory_portion_scale=#memory_portion_scale#, store_cap=#store_cap#, store_used_cap=#store_used_cap#, store_sas_cap=#store_sas_cap#, store_sas_used_cap=#store_sas_used_cap#, store_sas_used_scale=#store_sas_used_scale#, store_sata_cap=#store_sata_cap#, store_sata_used_cap=#store_sata_used_cap#, store_sata_used_scale=#store_sata_used_scale#, vstore_cap=#vstore_cap#, store_portion_scale=#store_portion_scale#,last_update_time=#last_update_time# </statement> <statement id="checkFromCluster" resultClass="ClusterViewModel"> select id from cluster where 1=1 </statement> </sqlMap>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <properties resource="db.properties" /> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <!-- 事务管理器 --> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="${driver}" /> <property name="JDBC.ConnectionURL" value="${url}" /> <property name="JDBC.Username" value="${user}" /> <property name="JDBC.Password" value="${password}" /> </dataSource> </transactionManager> <sqlMap resource="sqlmap/clusterviewmodel.xml" /> <sqlMap resource="sqlmap/vcenterviewmodel.xml" /> <sqlMap resource="sqlmap/VMachine.xml" /> </sqlMapConfig>
#driver=com.mysql.jdbc.Driver #url=jdbc:mysql://localhost:3306/anentvc #user=root #password=root
3 use it
package com.upyoo.test; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import java.util.List; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; import com.upyoo.vmware.viewandmodel.VCenterViewModel; public class IBatisDemo { @SuppressWarnings("unchecked") public static void main(String[] args) throws IOException{ String config = "sqlMapConfig.xml"; Reader reader = Resources.getResourceAsReader(config); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); // ClusterViewModel cViewModel = new ClusterViewModel(); // cViewModel.setId(Generate.getRpid()); // sqlMap.insert("insertClusterViewModel", cViewModel); VCenterViewModel center = new VCenterViewModel(); center.setId("fortest2"); center.setCluster_count(18); center.setDescription_name("tes1t"); try { sqlMap.insert("insertvcenterviewmodel1", center); } catch (SQLException e) { // TODO Auto-generated catch block System.out.println(e.getMessage()); } List<VCenterViewModel> list; try { list = sqlMap.queryForList("checkFromVCenterViewModel"); for (VCenterViewModel vCenterViewModel : list) { System.out.println(vCenterViewModel); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- 项目开发中,快速增加 Rspec的支持, 快速增加 spork 和 guard 的支持
- 给现有MVC项目增加Web API支持
- 动手改造Ibatis,使其支持文件系统存储数据列 之 看我如何给ResultMap增加属性
- 此项目是bootstrap-datetimepicker 项目 的一个分支,原项目不支持 Time 选择。 其它部分也进行了改进、增强,例如load 过程增加了对 ISO-8601 日期格式的支持。
- 给现有MVC项目增加Web API支持
- 为cocos2d-x项目增加Lua支持
- 为项目增加log4j支持
- AndroidInject项目使用动态代理增加对网络请求的支持
- springmvc项目,增加jdbc支持
- iPhone项目上增加支持iPad
- 给Java项目增加验证码支持
- 为项目增加LOG4J2支持&LOG4J2使用如何增加LOG4J2中的几个必须要注意问题
- Java项目增加验证码支持
- myeclise maven导入现成的web项目时出现的问题 增加web支持
- 给Java项目增加验证码支持
- 在iPhone项目上增加支持iPad
- AndroidInject项目使用动态代理增加对网络请求的支持
- 为Cocos2d-x项目增加lua支持
- Android项目从Eclipse增加支持Android Studio
- 再论IBatisNet + Castle进行项目的开发