?找回密码
?免费注册

QQ登录

只需一步,快速开始

本帖最后由 18285004693 于 2019-7-5 19:18 编辑

1:第一步导入jar,“mysql-connector-java-5.1.0-bin.jar”2:编写连接数据库的资源文件(dataSource.properties)
  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=utf-8
  3. user=root
  4. password=root
复制代码

3:编写一个jdbc资源类BaseDao
  1. package cm.smbms.dao;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.util.Properties;
  10. public class BaseDao {
  11. ? ? ? ? /**
  12. ? ? ? ???* 运行之前先加载静态模块
  13. ? ? ? ???*
  14. ? ? ? ???*/
  15. ? ? ? ? static{
  16. ? ? ? ? ? ? ? ? init();
  17. ? ? ? ? }
  18. ? ? ? ? /**
  19. ? ? ? ???* 定义链接数据库的接收字段
  20. ? ? ? ???*
  21. ? ? ? ???*/
  22. ? ? ? ? private static??String driver;
  23. ? ? ? ? private static??String url;
  24. ? ? ? ? private static??String user;
  25. ? ? ? ? private static??String password;
  26. ? ? ? ? /**
  27. ? ? ? ???* 获取连接数据库的信息接口的文件信息
  28. ? ? ? ???*
  29. ? ? ? ???*/
  30. ? ? ? ? public static void init(){
  31. ? ? ? ? ? ? ? ? Properties properties = new Properties();
  32. ? ? ? ? ? ? ? ? String dataSourceFilePath = "dataSource.properties";
  33. ? ? ? ? ? ? ? ? InputStream inputstream = BaseDao.class.getClassLoader().getResourceAsStream(dataSourceFilePath);
  34. ? ? ? ? ? ? ? ? try {
  35. ? ? ? ? ? ? ? ? ? ? ? ? properties.load(inputstream);
  36. ? ? ? ? ? ? ? ? } catch (IOException e) {
  37. ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  38. ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  39. ? ? ? ? ? ? ? ? }
  40. ? ? ? ? ? ? ? ? //将链接数据库的信息赋值给定义的字段
  41. ? ? ? ? ? ? ? ? driver = properties.getProperty("driver");
  42. ? ? ? ? ? ? ? ? url = properties.getProperty("url");
  43. ? ? ? ? ? ? ? ? user = properties.getProperty("user");
  44. ? ? ? ? ? ? ? ? password = properties.getProperty("password");

  45. ? ? ? ? }
  46. ? ? ? ? /**
  47. ? ? ? ???*链接数据库
  48. ? ? ? ???*
  49. ? ? ? ???* @return
  50. ? ? ? ???*/
  51. ? ? ? ? public static??Connection??getConnection(){
  52. ? ? ? ? ? ? ? ? Connection connection =null;
  53. ? ? ? ? ? ? ? ? try {
  54. ? ? ? ? ? ? ? ? ? ? ? ? Class.forName(driver);
  55. ? ? ? ? ? ? ? ? ? ? ? ? try {
  56. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? connection = DriverManager.getConnection(url,user,password);
  57. ? ? ? ? ? ? ? ? ? ? ? ? } catch (SQLException e) {
  58. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  59. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  60. ? ? ? ? ? ? ? ? ? ? ? ? }
  61. ? ? ? ? ? ? ? ? } catch (ClassNotFoundException e) {
  62. ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  63. ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  64. ? ? ? ? ? ? ? ? }
  65. ? ? ? ? ? ? ? ? return connection;
  66. ? ? ? ? }
  67. ? ? ? ? /**
  68. ? ? ? ???*
  69. ? ? ? ???* 查询的方法返回多个对象
  70. ? ? ? ???* @param connection
  71. ? ? ? ???* @param pstm
  72. ? ? ? ???* @param resultset
  73. ? ? ? ???* @param sql
  74. ? ? ? ???* @param params
  75. ? ? ? ???* @return
  76. ? ? ? ???*/
  77. ? ? ? ? public static ResultSet execute(Connection connection, PreparedStatement pstm,ResultSet resultset, String sql, Object[] params )
  78. ? ? ? ? {
  79. ? ? ? ? ? ? ? ? try {
  80. ? ? ? ? ? ? ? ? ? ? ? ? pstm = connection.prepareStatement(sql);
  81. ? ? ? ? ? ? ? ? ? ? ? ? for (int i = 0; i < params.length; i++) {
  82. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pstm.setObject(i+1, params[i]);
  83. ? ? ? ? ? ? ? ? ? ? ? ? }
  84. ? ? ? ? ? ? ? ? ? ? ? ? resultset=pstm.executeQuery();
  85. ? ? ? ? ? ? ? ? } catch (SQLException e) {
  86. ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  87. ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  88. ? ? ? ? ? ? ? ? }
  89. ? ? ? ? ? ? ? ? return resultset;
  90. ? ? ? ? }
  91. ? ? ? ? /**
  92. ? ? ? ???*
  93. ? ? ? ???* 更新操作
  94. ? ? ? ???* @param connection
  95. ? ? ? ???* @param pstmt
  96. ? ? ? ???* @param sql
  97. ? ? ? ???* @param object
  98. ? ? ? ???* @return
  99. ? ? ? ???*/
  100. ? ? ? ? public static int execute(Connection connection,PreparedStatement pstmt,String sql,Object[] object)
  101. ? ? ? ? {
  102. ? ? ? ? ? ? ? ? int num =0;
  103. ? ? ? ? ? ? ? ? try {
  104. ? ? ? ? ? ? ? ? ? ? ? ? pstmt = connection.prepareStatement(sql);
  105. ? ? ? ? ? ? ? ? ? ? ? ? for (int i = 0; i < object.length; i++) {
  106. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pstmt.setObject(i+1, object[i]);
  107. ? ? ? ? ? ? ? ? ? ? ? ? }
  108. ? ? ? ? ? ? ? ? ? ? ? ? num = pstmt.executeUpdate();
  109. ? ? ? ? ? ? ? ? } catch (SQLException e) {
  110. ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  111. ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  112. ? ? ? ? ? ? ? ? }
  113. ? ? ? ? ? ? ? ? return num;
  114. ? ? ? ? }
  115. ? ? ? ? /**
  116. ? ? ? ???*
  117. ? ? ? ???* 完成后关闭资源
  118. ? ? ? ???* @param connection
  119. ? ? ? ???* @param pstmt
  120. ? ? ? ???* @param rs
  121. ? ? ? ???* @return
  122. ? ? ? ???*/
  123. ? ? ? ? public static boolean closeResource(Connection connection, PreparedStatement pstmt,ResultSet rs)
  124. ? ? ? ? {
  125. ? ? ? ? ? ? ? ? //关闭数据集资源
  126. ? ? ? ? ? ? ? ? boolean falg = true;
  127. ? ? ? ? ? ? ? ? if(rs!=null){
  128. ? ? ? ? ? ? ? ? ? ? ? ? try {
  129. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? rs.close();
  130. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? rs=null;
  131. ? ? ? ? ? ? ? ? ? ? ? ? } catch (SQLException e) {
  132. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? falg = false;
  133. ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ? ? ?
  134. ? ? ? ? ? ? ? ? }
  135. ? ? ? ? ? ? ? ? //关闭预编译sql
  136. ? ? ? ? ? ? ? ? if(pstmt!=null){
  137. ? ? ? ? ? ? ? ? ? ? ? ? try {
  138. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pstmt.close();
  139. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pstmt=null;
  140. ? ? ? ? ? ? ? ? ? ? ? ? } catch (SQLException e) {
  141. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? falg = false;? ? ? ?
  142. ? ? ? ? ? ? ? ? ? ? ? ? }
  143. ? ? ? ? ? ? ? ? }
  144. ? ? ? ? ? ? ? ? //关闭数据库连接
  145. ? ? ? ? ? ? ? ? if(connection!=null){
  146. ? ? ? ? ? ? ? ? ? ? ? ? try {
  147. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? connection.close();
  148. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? connection=null;
  149. ? ? ? ? ? ? ? ? ? ? ? ? } catch (SQLException e) {
  150. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block
  151. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();
  152. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? falg = false;
  153. ? ? ? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ? ? ?
  154. ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ?
  155. ? ? ? ? ? ? ? ? return falg;
  156. ? ? ? ? }
  157. }
复制代码



收藏

0 个回复

您需要登录后才可以回帖 登录 | 免费注册
Loading...