zoukankan      html  css  js  c++  java
  • 我们怎么获取数据库中的值或者在数据库中添加值那???

    1、第一步:我们要有我们的数据库以及对应的表

      这里我们需要用到sql语句对其进行创建或者通过一些数据库工具对其进行创建。这里我用sql语句进行创建。

      a、create database hcp;

      b、use hcp;

      c、create table Emp(
        empno int,
        ename char(255),
        job char(255),
        hiredate char(255),
        sal decimal(16,3));

      这里我们在hcp库中创建了一个名为Emp的表。

    2、第二步:与我们的数据库建立连接

      

     1 package dao.dbc;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.SQLException;
     6 /*
     7  * 专门负责数据库的打开和关闭的类
     8  */
     9 public class DatabaseConnection {
    10     private static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
    11     public static final String DBURL = "jdbc:mysql://localhost:3306/hcp";
    12     public static final String DBUSER = "root";
    13     public static final String DBPASS = "";
    14     private Connection conn;
    15 
    16     public DatabaseConnection() {
    17         try {
    18             Class.forName(DBDRIVER);
    19             this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
    20         } catch (ClassNotFoundException e) {
    21             e.printStackTrace();
    22         } catch (SQLException e) {
    23             e.printStackTrace();
    24         }
    25     }
    26 
    27     public Connection getConnection() {
    28         return this.conn;
    29     }
    30 
    31     public void close() {
    32         if (this.conn != null) {
    33             try {
    34                 this.conn.close();
    35             } catch (SQLException e) {
    36                 e.printStackTrace();
    37             }
    38         }
    39     }
    40 }

    这里有一点注意的是,无论是什么数据库,我们都需要在我们的myeclipse或者eclipse中添加相应的数据库驱动,一定要注意!!!!

    3、建立与数据库对应的实体:名字一定要和数据库的名字一样,还有表中的值也要和实体的对应。

      

    package dao;
    
    import java.util.Date;
    /*
     * 属性与表中的字段相对应,每一个对象表示表中的一条记录
     */
    public class Emp {
    	private int empno;
        private String ename;
        private String job;
        private Date hiredate;
        private float sal;
        
        public int getEmpno() {
            return empno;
        }
        public void setEmpno(int empno) {
            this.empno = empno;
        }
        public String getEname() {
            return ename;
        }
        public void setEname(String ename) {
            this.ename = ename;
        }
        public String getJob() {
            return job;
        }
        public void setJob(String job) {
            this.job = job;
        }
        public Date getHiredate() {
            return hiredate;
        }
        public void setHiredate(Date hiredate) {
            this.hiredate = hiredate;
        }
        public float getSal() {
            return sal;
        }
        public void setSal(float sal) {
            this.sal = sal;
        }
    }
    

      这里我刚开始学的时候,有一个疑问,我们为什么要用实体,不用实体我们同样可以通过sql语句获取到相应的数据呀??后来,想了一下,数据库中取到的数据是一堆很乱的数据,假如我们把取到的数据添加到实体中的话,就很有条理,方便后期维护,易于我们对数据进行操作,非常的棒!放在数据库中可能只是单纯的数据,取出来之后放到实体中可就是对象了,我们想干啥就干啥。

    4、写静态工厂方法:静态工厂方法可以让对数据库操作的实例只有一个

     1 package dao.factory;
     2 
     3 import dao.dao.IEmpDAO;
     4 import dao.dao.proxy.EmpDAOProxy;
     5 /*
     6  * 通过工厂类取得Dao的实例化对象
     7  */
     8 public class DAOFactory {
     9     public static IEmpDAO getIEmpDAOInstance() {
    10         return new EmpDAOProxy();
    11     }
    12 }

    5、测试访问

  • 相关阅读:
    线上查询及帮助命令:
    windows: 2.7 3.5 (主要)
    get the execution time of a sql statement.
    java-kafka安装以及使用案例
    java-黑马头条 weex前端路由
    MYSQL安装
    缓存
    Flask中current_app和g对象
    [ValueError: signal only works in main thread]
    Flask-SQLAlchemy操作
  • 原文地址:https://www.cnblogs.com/huiyuantang/p/5329129.html
Copyright © 2011-2022 走看看