java学习笔记——使用JDBC,对数据库进行增删改查(方案一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
){
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. */