javaee论坛

普通会员

225648

帖子

335

回复

349

积分

楼主
发表于 2019-11-01 17:45:14 | 查看: 30 | 回复: 0

一般我们在写接口或者后台的时候,java用的是springmvc框架,而连接数据库则用到的是jdbc(原始的),为了更加方便,通过配置文件的方式连接数据库(sqlserver2008),通过两天的学习,和自己的揣摩,终于弄出来了,为了给一些需要的又刚好没有找到这个方法的程序员提供一个参考,也算是献丑了(捂脸)。

废话不多讲,直接上代码,本人用的是springmvc框架,连接数据库用的是dbutils类,调用存储过程,

第一步:连接数据库。

driverClassName=net.sourceforge.jtds.jdbc.Driverurl=jdbc:jtds:sqlserver://192.168.0.1:1433;DatabaseName=数据库的名称username=用户名password=密码

spring的配置文件为

<!--配置数据源--><beanid="dataSource"name="dataSource"class="org.apache.commons.dbcp.BasicDataSource"><propertyname="driverClassName"value="${driverClassName}"></property><propertyname="url"value="${url}"/><propertyname="username"value="${username}"/><propertyname="password"value="${password}"/></bean>这样一来,java连接sqlserver的连接就通了,是不是很简单,哈哈

第二步:创建一个存储过程(带参数的,不带参数的更简单,)

ALTERPROCEDURE[dbo].[getAllUserNote]--Addtheparametersforthestoredprocedurehere@DataFlagbit=trueASBEGIN--SETNOCOUNTONaddedtopreventextraresultsetsfrom--interferingwithSELECTstatements.SETNOCOUNTON;--InsertstatementsforprocedurehereSELECT *fromTC2_UserNote where DataFlag=@DataFlag;ENDTC2_UserNote表的详情如下[ID][bigint]IDENTITY(1,1)NOTNULL,[DataFlag][bit]NOTNULL,[Remark][nvarchar](200)NULL,有三个字段,分别是ID,DataFlag,和Remark,举个例子,实际情况根据自身的条件设置,可以也自己写个demo第三步,java调存储过程,重点哦,用到的是dbutils中的execute这个方法,

publicstaticList<UserNote>queryUserNoteByID(booleanDataFlag)throwsSQLException{Connectionconn=null;try{conn=JdbcUtil.getConnection();QueryRunnerqr=newQueryRunner();Stringsql="{callgetAllUserNote(?)}";List<List<UserNote>>userNote=qr.execute(conn,sql,newBeanListHandler<UserNote>(UserNote.class),DataFlag);returnuserNote.get(0);}catch(SQLExceptione){e.printStackTrace();}returnnull;}其中,UserNote是一个类,和数据库的字段是对应,这样用他来接收查询出来的数据列表。

第四步,测试

@TestpublicvoidTest(){//查询操作try{List<UserNote>userNotes=UserNoteDao.queryUserNoteByID(true);System.out.println(userNotes.size());//List<UserNote>uList=userNotes.get(0);for(UserNoteuserNote:userNotes){System.out.println(userNote.getID());}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}UserNoteDao是第三步中的类名,用了static方法,这里为了测试用,取数据表中的ID值,如下22CA4275-7A8B-4A46-A1AC-0C9917ECC9839FCA4275-7A8B-4A46-A1AC-0C9917ECC983E0569587-C88B-461F-86F8-1620141F5FC39831B13E-259E-46F9-9556-17516F861209F3CCFBD4-DA4F-4E87-B313-1B223FF90D2B5D611F04-8CD0-4EA9-8B36-379278CA38EBFA6F18F9-1E6D-4C9F-94BC-BBFCA079726FAEC9895E-D9BE-4359-8DEB-BC308D0CCB72F3070F26-E381-4361-8F60-CB79197A0D0FB6D061E3-9312-49E2-8F8E-CD4144CAD8805E78E2B9-630A-49DC-B98E-FA1C31F42021对比数据表中的数据,大功告成,这样做的时候非常方便,同样的插入和添加操作也是一样,如有疑问,肯请指出~

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017