一般我们在写接口或者后台的时候,java用的是springmvc框架,而连接数据库则用到的是jdbc(原始的),为了更加方便,通过配置文件的方式连接数据库(sql server2008),通过两天的学习,和自己的揣摩,终于弄出来了,为了给一些需要的又刚好没有找到这个方法的程序员提供一个参考,也算是献丑了(捂脸)。
废话不多讲,直接上代码,本人用的是springmvc框架,连接数据库用的是dbutils类,调用存储过程,
第一步:连接数据库。
driverClassName=net.sourceforge.jtds.jdbc.Driver
url=jdbc:jtds:sqlserver://192.168.0.1:1433;DatabaseName=数据库的名称
username=用户名
password=密码
spring的配置文件为
<!-- 配置数据源 -->
<bean id="dataSource" name="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
这样一来,java连接sql server的连接就通了,是不是很简单,哈哈
第二步:创建一个存储过程(带参数的,不带参数的更简单,)
ALTER PROCEDURE [dbo].[getAllUserNote]
-- Add the parameters for the stored procedure here
@DataFlag bit=true
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT * from TC2_UserNote where DataFlag=@DataFlag ;
END
TC2_UserNote表的详情如下
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[DataFlag] [bit] NOT NULL,
[Remark] [nvarchar](200) NULL,
有三个字段,分别是ID,
DataFlag,和Remark,举个例子,实际情况根据自身的条件设置,可以也自己写个demo
第三步,java调存储过程,重点哦,用到的是dbutils中的execute这个方法,
public static List<UserNote> queryUserNoteByID(boolean DataFlag) throws SQLException {
Connection conn = null;
try {
conn = JdbcUtil.getConnection();
QueryRunner qr = new QueryRunner();
String sql = "{call getAllUserNote(?)}";
List<List<UserNote>> userNote = qr.execute(conn, sql, new BeanListHandler<UserNote>(UserNote.class), DataFlag);
return userNote.get(0);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
其中, UserNote是一个类,和数据库的字段是对应,这样用他来接收查询出来的数据列表。
第四步,测试
@Test
public void Test() {
//查询操作
try {
List<UserNote> userNotes=UserNoteDao.queryUserNoteByID(true);
System.out.println(userNotes.size());
//List<UserNote> uList = userNotes.get(0);
for (UserNote userNote : userNotes) {
System.out.println(userNote.getID());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
UserNoteDao是第三步中的类名,用了static方法,这里为了测试用,取数据表中的ID值,如下
22CA4275-7A8B-4A46-A1AC-0C9917ECC983
9FCA4275-7A8B-4A46-A1AC-0C9917ECC983
E0569587-C88B-461F-86F8-1620141F5FC3
9831B13E-259E-46F9-9556-17516F861209
F3CCFBD4-DA4F-4E87-B313-1B223FF90D2B
5D611F04-8CD0-4EA9-8B36-379278CA38EB
FA6F18F9-1E6D-4C9F-94BC-BBFCA079726F
AEC9895E-D9BE-4359-8DEB-BC308D0CCB72
F3070F26-E381-4361-8F60-CB79197A0D0F
B6D061E3-9312-49E2-8F8E-CD4144CAD880
5E78E2B9-630A-49DC-B98E-FA1C31F42021
对比数据表中 的数据,
大功告成,这样做的时候非常方便,同样的插入和添加操作也是一样,如有疑问,肯请指出~