spring+ibatis
来源:互联网 发布:ubuntu 14.04 需求 编辑:程序博客网 时间:2024/06/06 00:46
搭建环境
1——————
File -->new -->project-->java下的Tomcat Project -->next-->项目名Spring+Ibatis
在lib下加入包,ibatis-common-2.jar,ibatis-dao-2.jar,ibatis-sqlmap-2.jar,ojdbc14.jar,commons-logging-1.0.4.jar,spring.jar几个
右键项目Spring+Ibatis--->Properties--->Java Bulid Path --->Libraries-->add JARS-->添加这些包---->ok
2——————
创建表
create table Test_String_64( id varchar2(40) not null, no varchar2(40) not null, name varchar2(40) not null, password varchar2(40) not null, age varchar2(40) not null)
3——————
在项目下建两个文件夹
---------src/java
----------src/reource
例如图:
在src/resource下加入三个文件
1————————-applicationContext-web.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <bean id="person"class="com.neusoft.test.spib.pojo.Person" ><constructor-arg index="0" value="111"/><constructor-arg index="1" value="111" /><constructor-arg index="2" value="韩超aa"/><constructor-arg index="3" value="123456" /><constructor-arg index="4" value="123"/></bean><bean id="person1"class="com.neusoft.test.spib.pojo.Person" ><constructor-arg index="0" value="222"/><constructor-arg index="1" value="222"/><constructor-arg index="2" value="于海"/><constructor-arg index="3" value="345"/><constructor-arg index="4" value="123"/></bean><bean id="person2"class="com.neusoft.test.spib.pojo.Person" ><constructor-arg index="0" value="333"/><constructor-arg index="1" value="333"/><constructor-arg index="2" value="好啊"/><constructor-arg index="3" value="555"/><constructor-arg index="4" value="444"/></bean><!--静态工厂实例化--> <bean id="beanFactory" class="com.neusoft.test.spib.pojo.Person" factory-method="StaticCreatePerson"/><!--动态工厂实例化--> <bean id="person4" class="com.neusoft.test.spib.pojo.Person"/> <bean id="person5" factory-bean="person4" factory-method="CreatePerson"/> <bean id="persons" class=" com.neusoft.test.spib.pojo.Person"> <property name="personList"> <list> <ref bean="person"/> <ref bean="person1"/> <ref bean="person2"/> <ref bean="beanFactory"/> <ref bean="person5"/> </list> </property></bean> </beans>
1————————-sql-map-config.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfigPUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN""http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><settings cacheModelsEnabled="true" enhancementEnabled="true"lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver"value="oracle.jdbc.driver.OracleDriver" /><property name="JDBC.ConnectionURL"value="jdbc:oracle:thin:@192.168.137.23:1521:unieap" /><property name="JDBC.Username" value="tabuser" /><property name="JDBC.Password" value="tabuser" /><property name="Pool.MaximumActiveConnections" value="10" /><property name="Pool.MaximumIdleConnections" value="5" /><property name="Pool.MaximumCheckoutTime" value="120000" /><property name="Pool.TimeToWait" value="500" /><property name="Pool.PingQuery" value="select 1 from dual" /><property name="Pool.PingEnabled" value="false" /><property name="Pool.PingConnectionsOlderThan" value="1" /><property name="Pool.PingConnectionsNotUsedFor" value="1" /></dataSource></transactionManager><sqlMap resource="person.xml" /></sqlMapConfig>
1——————————person.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapPUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN""http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="User"><typeAlias alias="person" type="com.neusoft.test.spib.pojo.Person" /><insert id="insertPerson" parameterClass="person">INSERT INTO Test_String_64 (id,no,name,password,age) VALUES (#id#,#no#, #name#,#password#,#age# )</insert><select id="getPerson" parameterClass="java.lang.String" resultClass="person"><![CDATA[SELECT id,no,name,password,age FROM Test_String_64 ]]></select></sqlMap>
在dao下加入PersonDao.java接口
package com.neusoft.test.spib.dao;import java.util.List;import com.neusoft.test.spib.pojo.Person;public interface PersonDao { public boolean insert(Person person); public List<Person> query(); public boolean insertPersons(List<Person> personList);}
在impl下加入PersPersonImpl类 实现接口
package com.neusoft.test.spib.impl;import java.io.Reader;import java.util.List;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;import com.neusoft.test.spib.dao.PersonDao;import com.neusoft.test.spib.pojo.Person;public class PersonImpl implements PersonDao { public boolean insert(Person person) { String resource="sql-map-config.xml"; SqlMapClient sqlMapClient=null; try{ Reader reader=Resources.getResourceAsReader(resource); sqlMapClient=SqlMapClientBuilder.buildSqlMapClient(reader); sqlMapClient.startTransaction(); sqlMapClient.insert("insertPerson", person); sqlMapClient.commitTransaction(); return true; }catch (Exception e) { return false; } } public List<Person> query() { return null; } public boolean insertPersons(List<Person> personList) { String resource="sql-map-config.xml"; SqlMapClient sqlMapClient=null; for(Person p:personList){ try{ Reader reader=Resources.getResourceAsReader(resource); sqlMapClient=SqlMapClientBuilder.buildSqlMapClient(reader); sqlMapClient.startTransaction(); sqlMapClient.insert("insertPerson", p); sqlMapClient.commitTransaction(); }catch (Exception e) { e.printStackTrace(); } } return false; }}
在pojo下加入person类
package com.neusoft.test.spib.pojo;import java.util.List;public class Person{ private String id; private String no; private String name; private String password; private String age; List<Person> personrList; public List<Person> getPersonList() { return personrList; } public void setPersonList(List<Person> personrList) { this.personrList = personrList; } public Person(){} public Person(String id,String no,String name,String password,String age){ this.id = id; this.no = no; this.name= name; this.password = password; this.age = age; } public String getId() { return id; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public void print(){ System.out.println(this.getId()+" "+this.getNo()+" "+this.getName()+" "+this.getPassword()+" "+this.getAge()); } public static Person StaticCreatePerson(){ return new Person("333","3333","小李","123","30"); } public Person CreatePerson(){ return new Person("444","444","小王","123","30"); }}
在main下加入Test类
package com.neusoft.test.spib.main;import java.util.List;import com.neusoft.test.spib.dao.PersonDao;import com.neusoft.test.spib.impl.PersonImpl;import com.neusoft.test.spib.pojo.Person;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test{ /** * {方法功能中文描述} * * @param args * @author:韩超 */ public static void main(String[] args) { // // 构造器和属性注入// ApplicationContext applicationContext=new ClassPathXmlApplicationContext(new String("applicationContext-web.xml"));// Person person=(Person)applicationContext.getBean("person");// Person person2=(Person)applicationContext.getBean("person1");// Person person3=(Person)applicationContext.getBean("person2");// person.print();// person2.print();// person3.print();// // //静态工厂实例化// // ApplicationContext applicationContext= new ClassPathXmlApplicationContext(new String("applicationContext-web.xml"));// Person person1 = (Person)applicationContext.getBean("beanFactory");// person1.StaticCreatePerson().print();// //动态工厂实例化// // ApplicationContext applicationContext= new ClassPathXmlApplicationContext(new String("applicationContext-web.xml"));// Person person5 = (Person)applicationContext.getBean("person5");// person5.CreatePerson().print(); ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String( "applicationContext-web.xml")); Person person=(Person)applicationContext.getBean("persons"); List<Person> personlist=person.getPersonList(); PersonDao persondao = new PersonImpl(); persondao.insertPersons(personlist); System.out.println("*****************"); for(Person p: personlist){ System.out.println(p.getId()+" "+p.getNo()+" "+p.getName()+" "+p.getPassword()+" "+p.getAge()); } } }
- Spring+ibatis
- ibatis+spring
- spring+ibatis
- spring ibatis
- Spring+ibatis
- spring+ibatis
- spring+ibatis
- ibatis - Spring&iBatis之SqlMapClientDaoSupport
- spring+ibatis事务处理配置
- spring+ibatis开发实践
- velocity+struts+spring+ibatis
- Spring+ibatis经验
- spring+ibatis事务处理配置
- ibatis in Spring 实战
- spring + ibatis jpetstore 摘要
- Spring+Ibatis+事务处理
- Spring+Ibatis集成
- :ibatis in Spring配置文件
- (2012.03.22) 杂想_最近的事情_心绪有点乱
- S3C2440
- wait and notify 例子(yield/join)
- PCA检测人脸的简单示例_matlab实现
- pthread_create如何传递多个参数
- spring+ibatis
- 了解设计模式
- IE主页被自动修改,无法编辑注册表Start Page
- S3C2440 汇编指令
- java线程的简单例子(Thread and runnable)
- 安装示例数据库时找不到Installation Instance
- S3C2440中断跳转分析
- Maven:完整参考手册--1.3 一个通用的接口
- 严重: Could not find action or result There is no Action mapped for namespace / and action name login.