|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。两种办法测试spring中的jdbc
JDBC是一个十分基本的数据存取API,spring对其举行复杂的封装,上面以sqlserver中自带的pubs数据库Authors表举行测试.
1):编写Authors.java,其每一个对象对应于数据库中的一笔记录
packagejdbc;publicclassAuthors{Stringlname=null;Stringfname=null;Stringphone=null;Stringaddress=null;publicStringgetAddress(){returnaddress;}publicStringgetFname(){returnfname;}publicStringgetLname(){returnlname;}publicStringgetPhone(){returnphone;}publicvoidsetPhone(Stringphone){this.phone=phone;}publicvoidsetLname(Stringlname){this.lname=lname;}publicvoidsetFname(Stringfname){this.fname=fname;}publicvoidsetAddress(Stringaddress){this.address=address;}}
2):编写AuthorsQuery类
packagejdbc;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.sql.DataSource;importorg.springframework.jdbc.object.MappingSqlQuery;importjavax.sql.DataSource;
/***<p>Title:测试spring中的jdbc</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2004</p>*<p>Company:</p>*@authorhanker*@version1.0*/
publicclassAuthorsQueryextendsMappingSqlQuery{
publicAuthorsQuery(DataSourceds){this.setDataSource(ds);this.setSql("SELECT*FROMauthors");compile();}
protectedObjectmapRow(ResultSetrs,intrownum)throwsSQLException{
Authorspo=newAuthors();po.setLname(rs.getString("au_lname"));po.setFname(rs.getString("au_fname"));po.setPhone(rs.getString("phone"));po.setAddress(rs.getString("address"));returnpo;}
}
3:写spring的设置文件
<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
<!---ApplicationcontextdefinitionforPetcliniconHibernate.--><beans><beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><propertyname="driverClassName"><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></property><propertyname="url"><value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;SelectMethod=Cursor</value></property><propertyname="username"><value>sa</value></property><propertyname="password"><value></value></property></bean>
<beanid="AuthorsQuery"class="jdbc.AuthorsQuery"singleton="false"><constructor-argindex="0"><refbean="dataSource"/></constructor-arg></bean></beans>
4:写junit举行测试
packagejdbc;
importjunit.framework.*;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.FileSystemXmlApplicationContext;importjava.util.List;importjava.util.Map;/***<p>Title:测试spring中的jdbc</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2004</p>*<p>Company:</p>*@authorhanker*@version1.0*/
publicclassTestAuthorsQueryextendsTestCase{ApplicationContextctx=null;protectedvoidsetUp()throwsException{ctx=newFileSystemXmlApplicationContext("D:workjpetstorecjdbcContext-jdbc.xml");}publicvoidtestQuery(){System.out.println("[Test1....");AuthorsQueryqry=(AuthorsQuery)ctx.getBean("AuthorsQuery");Listlist=qry.execute();if(list!=null&&list.size()>0){for(inti=0;i<list.size();i++){Authorsauthor=(Authors)list.get(i);StringBufferbuf=newStringBuffer();buf.append(author.getLname()).append("|").append(author.getFname()).append("|").append(author.getPhone()).append("|").append(author.getAddress());System.out.println(buf.toString());}}
}}
5:编译运转,ok》是否是失掉了你想要的了局
White|Johnson|408496-7223|10932BiggeRd.Green|Marjorie|415986-7020|30963rdSt.#411Carson|Cheryl|415548-7723|589DarwinLn.OLeary|Michael|408286-2428|22ClevelandAv.#14Straight|Dean|415834-2919|5420CollegeAv.Smith|Meander|913843-0462|10MississippiDr.Bennet|Abraham|415658-9932|6223BatemanSt.Dull|Ann|415836-7128|3410BlondeSt.Gringlesby|Burt|707938-6445|POBox792Locksley|Charlene|415585-4620|18BroadwayAv.Greene|Morningstar|615297-2723|22GraybarHouseRd.Blotchet-Halls|Reginald|503745-6402|55HillsdaleBl.
6:上面测试另处一种调jdbc的办法
编写AuthorsQuery2.java文件packagejdbc;
importjava.util.List;importorg.springframework.context.ApplicationContextException;importorg.springframework.dao.DataAccessException;importorg.springframework.jdbc.core.SqlParameter;importorg.springframework.jdbc.core.support.JdbcDaoSupport;
/***<p>Title:测试spring中的jdbc</p>*<p>Description:</p>*<p>Copyright:Copyright(c)2004</p>*<p>Company:</p>*@authorhanker*@version1.0*/
publicclassAuthorsQuery2extendsJdbcDaoSupport{publicAuthorsQuery2(){}publicListquery(Stringsql)throwsDataAccessException{returnthis.getJdbcTemplate().queryForList(sql);}
}
7:设置,在下面到场上面几行:
<beanid="AuthorsQuery2"class="jdbc.AuthorsQuery2"><propertyname="dataSource"><reflocal="dataSource"/></property></bean>
8:写junit.在TestAuthorsQuery中到场函数publicvoidtestQuery2(){System.out.println("[Test2....");AuthorsQuery2qry=(AuthorsQuery2)ctx.getBean("AuthorsQuery2");Listlist=qry.query("SELECT*FROMauthors");if(list!=null&&list.size()>0){for(inti=0;i<list.size();i++){Mapmap=(Map)list.get(i);StringBufferbuf=newStringBuffer();buf.append(map.get("au_lname")).append("|").append(map.get("au_fname")).append("|").append(map.get("phone")).append("|").append(map.get("address"));System.out.println(buf.toString());}}}
9:编译运转.以上代码经由测试,可以一般运转,
mzhanker@126.com
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。 |
|