java学习笔记——使用JDBC,对数据库进行增删改查(方案一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java学习笔记——使用JDBC,对数据库进行增删改查(方案

一)

工具类BaseDao.java

[java] view plaincopy

1.package com.accp.jdbc;

2.

3.import java.sql.Connection;

4.import java.sql.DriverManager;

5.import java.sql.PreparedStatement;

6.import java.sql.ResultSet;

7.import java.sql.SQLException;

8.

9.import org.apache.log4j.Logger;

10.

11.public class BaseDao {

12.// 使用log4j记录日志

13.private static Logger logger = Logger.getLogger(BaseDao.class);

14.// 连接驱动

15.private static final String DRIVER = "com.microsoft.sqlserver.jd

bc.SQLServerDriver";

16.// 连接路径

17.private static final String URL = "jdbc:sqlserver://localhost:14

33;databaseName=test";

18.// 用户名

19.private static final String USERNAME = "sa";

20.// 密码

21.private static final String PASSWORD = "sssaaa";

22.

23.//静态代码块

24.static {

25.try {

26.// 加载驱动

27. Class.forName(DRIVER);

28. } catch (ClassNotFoundException e) {

29. e.printStackTrace();

30. logger.error("加载驱动失败", e);

31. }

32. }

33.

34./*

35. * 获取数据库连接

36. */

37.public Connection getConnection() {

38. Connection conn = null;

39. logger.debug("开始连接数据库");

40.try{

41.//与数据库建立连接

42. conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);

43. }catch(SQLException e){

44. e.printStackTrace();

45. logger.error("数据库连接失败!",e);

46. }

47. logger.debug("数据库连接成功");

48.return conn;

49. }

50.

51./*

52. * 关闭数据库连接,注意关闭的顺序

53. */

54.public void close(ResultSet rs, PreparedStatement ps, Connection conn)

{

55.//注意:最后打开的最先关闭

56.if(rs!=null){

57.try{

58. rs.close();

59. rs=null;

60. }catch(SQLException e){

61. e.printStackTrace();

62. logger.error("关闭ResultSet失败",e);

63. }

64. }

65.if(ps!=null){

66.try{

67. ps.close();

68. ps=null;

69. }catch(SQLException e){

70. e.printStackTrace();

71. logger.error("关闭PreparedStatement失败",e);

72. }

73. }

74.if(conn!=null){

75.try{

76. conn.close();

77. conn=null;

78. }catch(SQLException e){

79. e.printStackTrace();

80. logger.error("关闭Connection失败",e);

81. }

82. }

83. }

84.

85./*

86. * 查询方法

87. *

88. * sql: 要执行的sql语句

89. * handler:自定义接口

90. * obj:可变参数列表

91. */

92.public T query(String sql,ResultSetHandler handler,Object... obj

){

93. Connection conn=getConnection(); //获得连接

94. PreparedStatement ps=null;

95. ResultSet rs=null;

96.try{

97.//创建PreparedStatement对象

98. ps=conn.prepareStatement(sql);

99.//为查询语句设置参数

100. setParameter(ps, obj);

101.//获得ResultSet结果集

102. rs=ps.executeQuery();

103.//返回对象

104.return handler.callback(rs);

105. }catch(SQLException e){

106. e.printStackTrace();

107. logger.error("数据库操作异常",e);

108. }finally{

109.//关闭连接

110. close(rs,ps,conn);

111. logger.debug("释放资源成功");

112. }

113.return null;

114. }

115.

116./*

117. * 增加、修改、删除,的方法

118. *

119. * obj: 可变参数列表

120. */

相关文档
最新文档