zoukankan      html  css  js  c++  java
  • JDBC示例程序

     1 import java.io.IOException;
     2 import java.io.InputStream;
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8 import java.util.Properties;
     9 
    10 import org.apache.commons.dbcp.BasicDataSource;
    11 
    12 public class DBUtils {
    13     private static BasicDataSource dateSource;
    14     static {
    15         //创建属性对象
    16                 Properties prop = new Properties();
    17                 //得到文件的输入流
    18                 InputStream ips = DBUtils2.class.getClassLoader().getResourceAsStream("jdbc.properties");
    19                 //把文件加载到属性对象中
    20                 try {
    21                     prop.load(ips);
    22                     //读取数据
    23                     String driver = prop.getProperty("driver");
    24                     String url = prop.getProperty("url");
    25                     String username = prop.getProperty("username");
    26                     String password = prop.getProperty("password");
    27                     //创建数据源对象
    28                     dateSource = new BasicDataSource();
    29                     //设置数据库链接信息
    30                     dateSource.setDriverClassName(driver);
    31                     dateSource.setUrl(url);
    32                     dateSource.setUsername(username);
    33                     dateSource.setPassword(password);
    34                     //设置连接池参数
    35                     dateSource.setInitialSize(3);//初始连接数量
    36                     dateSource.setMaxActive(5);//最大连接数量
    37                     
    38                 } catch (IOException e) {
    39                     e.printStackTrace();
    40                 }
    41                 
    42     }
    43     //1、获取链接
    44     public static Connection getConn() throws Exception {
    45         
    46         
    47                 //获取连接池中的连接
    48                 Connection conn = dateSource.getConnection();
    49         return conn;
    50     }
    51     //2、关闭资源
    52     public static void close(ResultSet rs,Statement stat,Connection conn) {
    53         try {
    54             if (rs!=null) {
    55                 rs.close();
    56             }
    57         } catch (SQLException e) {
    58             e.printStackTrace();
    59         }
    60         try {
    61             if (stat!=null) {
    62                 stat.close();
    63             }
    64         } catch (SQLException e) {
    65             e.printStackTrace();
    66         }
    67         //关闭连接
    68         try {
    69             if (conn!=null) {
    70                 conn.close();
    71             }
    72         } catch (SQLException e) {
    73             e.printStackTrace();
    74         }
    75     }
    76 }

    DAO

      1 /**
      2      * 依据用户名查询对应的用户信息。 如果找不到,返回null。
      3      * 
      4      * @throws SQLException
      5      */
      6     public User find(String uname) throws SQLException {
      7         User user = null;
      8 
      9         Connection conn = null;
     10         PreparedStatement ps = null;
     11         ResultSet rs = null;
     12 
     13         try {
     14             conn = DBUtils.getconn();
     15             String sql = "SELECT * FROM t_user " + "WHERE username=?";
     16             ps = conn.prepareStatement(sql);
     17             ps.setString(1, uname);
     18             rs = ps.executeQuery();
     19 
     20             if (rs.next()) {
     21                 int id = rs.getInt("id");
     22                 String pwd = rs.getString("password");
     23                 String email = rs.getString("email");
     24 
     25                 user = new User();
     26                 user.setId(id);
     27                 user.setUname(uname);
     28                 user.setPwd(pwd);
     29                 user.setEmail(email);
     30 
     31             }
     32 
     33         } catch (SQLException e) {
     34             e.printStackTrace();
     35             throw e;
     36         } finally {
     37             DBUtils.close(rs, ps, conn);
     38         }
     39 
     40         return user;
     41     }
     42     /**
     43      *     删除指定信息
     44      * @param id
     45      * @throws SQLException
     46      */
     47     public void delete(int id) throws SQLException {
     48         Connection conn = null;
     49         PreparedStatement ps = null;
     50 
     51         try {
     52             conn = DBUtils.getconn();
     53             String sql = "DELETE FROM t_user " + "WHERE id = ?";
     54             ps = conn.prepareStatement(sql);
     55             ps.setInt(1, id);
     56             ps.executeUpdate();
     57 
     58         } catch (SQLException e) {
     59             e.printStackTrace();
     60             throw e;
     61         } finally {
     62             DBUtils.close(null, ps, conn);
     63         }
     64     }
     65 
     66     /**
     67      * 将用户信息插入到t_user表。
     68      * 
     69      * @throws SQLException
     70      * 
     71      */
     72     public void save(User user) throws SQLException {
     73         Connection conn = null;
     74         PreparedStatement ps = null;
     75 
     76         try {
     77             conn = DBUtils.getconn();
     78             String sql = "INSERT INTO t_user " + "VALUES(null,?,?,?)";
     79             ps = conn.prepareStatement(sql);
     80             ps.setString(1, user.getUname());
     81             ps.setString(2, user.getPwd());
     82             ps.setString(3, user.getEmail());
     83             ps.executeUpdate();
     84 
     85         } catch (SQLException e) {
     86             e.printStackTrace();
     87             throw e;
     88         } finally {
     89             DBUtils.close(null, ps, conn);
     90         }
     91     }
     92 
     93     /**
     94      * 从t_user表中查询出所有用户的信息。 注: 一条记录对应一个User对象(即将记录中的数据 存放到User对象里面)。
     95      * 
     96      * @throws SQLException
     97      */
     98     public List<User> findAll() throws SQLException {
     99 
    100         List<User> users = new ArrayList<User>();
    101 
    102         Connection conn = null;
    103         PreparedStatement ps = null;
    104         ResultSet rs = null;
    105 
    106         try {
    107             conn = DBUtils.getconn();
    108             String sql = "SELECT * FROM t_user";
    109             ps = conn.prepareStatement(sql);
    110             rs = ps.executeQuery();
    111 
    112             while (rs.next()) {
    113 
    114                 int id = rs.getInt("id");
    115                 String uname = rs.getString("username");
    116                 String pwd = rs.getString("password");
    117                 String email = rs.getString("email");
    118 
    119                 User user = new User();
    120                 user.setId(id);
    121                 user.setUname(uname);
    122                 user.setPwd(pwd);
    123                 user.setEmail(email);
    124 
    125                 users.add(user);
    126 
    127             }
    128 
    129         } catch (SQLException e) {
    130             e.printStackTrace();
    131             throw e;
    132         } finally {
    133             DBUtils.close(rs, ps, conn);
    134         }
    135 
    136         return users;
    137 
    138     }

    Java中访问数据库的步骤

     1 //注册驱动
     2 Class.forName("com.mysql.jdbc.Driver");
     3                 //建立连接
     4         Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "");
     5         System.out.println("创建完毕");
     6                 //创建Statement
     7         Statement stat = conn.createStatement();
     8         String sql = "delete from jdbc01 where id=1";
     9                 //执行sql语句(若SQL语句为查询语句需要处理结果集)
    10         stat.executeUpdate(sql);
    11         System.out.println("删除完毕");
    12                 //关闭连接
    13         stat.close();
    14         conn.close();

     数据库的基本连接

     1 public static void main(String[] args) throws Exception {
     2         //创建数据源对象
     3         BasicDataSource dateSource = new BasicDataSource();
     4         //设置数据库连接信息
     5         dateSource.setDriverClassName("com.mysql.jdbc.Driver");
     6         dateSource.setUrl("jdbc:mysql://localhost:3306/db3");
     7         dateSource.setUsername("root");
     8         dateSource.setPassword("root");
     9         //设置连接池参数
    10         dateSource.setInitialSize(3);//初始连接数量
    11         dateSource.setMaxActive(5);//最大连接数量
    12         //获取连接池中的连接
    13         Connection conn = dateSource.getConnection();
    14         System.out.println(conn);
    15     }

     

  • 相关阅读:
    大象起舞:用PostgreSQL解海盗分金问题
    python 导入模块
    python socket 发送ESB报文
    python socket超时
    ISCC2018部分WriteUp
    查看SQL执行计划的方法及优劣
    jquery遮罩层
    IE9 JS不执行,打开F12就没问题了
    BigDecimal 01
    BigDecimal 01
  • 原文地址:https://www.cnblogs.com/DebugTheWorld/p/9835539.html
Copyright © 2011-2022 走看看