找回密码
 免费注册

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...