Java——数据库连接层

来源:互联网 发布:上传淘宝图片尺寸 编辑:程序博客网 时间:2024/04/29 09:49

之前忘了一个东西,之前提到,软件一般有三层架构,视图层,业务逻辑层和数据库连接层。视图层

可以是Android中设计界面,业务逻辑就是java后端运行的

代码,将业务逻辑层的数据用数据流通格式javabean封装起来,通过创建类的

beandao,通过类的beandao实现顶层接

口设计,调用sql语句将javabean导入数据库。

简单写一下代码:

以之前图书销售单的例子来说,正规标准点的设计,base包下面存放顶层的接口,bean

包下面存放标准javabean,dao包下面存放javabean的各自dao,domain存放main方

法测试。

接口类:

package com.example.base;public interface DBinter {    String name = "root";    String password = "root";    String address = "jdbc:mysql//localhost:3066/xxx";    void insert(Object o);    void delete(Object o);    void update(Object o);    Object find(Object o);}

javabean:

图书类:

package com.example.bean;public class TuShu {    private String id;    private String name;    private String chubanshe;    private double jiage;    public TuShu(String id, String name, String chubanshe, double jiage) {        super();        this.id = id;        this.name = name;        this.chubanshe = chubanshe;        this.jiage = jiage;    }    public TuShu() {        super();    }    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getChubanshe() {        return chubanshe;    }    public void setChubanshe(String chubanshe) {        this.chubanshe = chubanshe;    }    public double getJiage() {        return jiage;    }    public void setJiage(double jiage) {        this.jiage = jiage;    }    @Override    public String toString() {        return "TuShu [id=" + id + ", name=" + name + ", chubanshe=" + chubanshe + ", jiage=" + jiage + "]";    }    @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + ((chubanshe == null) ? 0 : chubanshe.hashCode());        result = prime * result + ((id == null) ? 0 : id.hashCode());        long temp;        temp = Double.doubleToLongBits(jiage);        result = prime * result + (int) (temp ^ (temp >>> 32));        result = prime * result + ((name == null) ? 0 : name.hashCode());        return result;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        TuShu other = (TuShu) obj;        if (chubanshe == null) {            if (other.chubanshe != null)                return false;        } else if (!chubanshe.equals(other.chubanshe))            return false;        if (id == null) {            if (other.id != null)                return false;        } else if (!id.equals(other.id))            return false;        if (Double.doubleToLongBits(jiage) != Double.doubleToLongBits(other.jiage))            return false;        if (name == null) {            if (other.name != null)                return false;        } else if (!name.equals(other.name))            return false;        return true;    }}

用户类:

package com.example.bean;public class User {    private String id;    private String name;    private String password;    private String addr;    public User(String name, String id, String password, String addr) {        super();        this.name = name;        this.id = id;        this.password = password;        this.addr = addr;    }    public User() {        super();    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getAddr() {        return addr;    }    public void setAddr(String addr) {        this.addr = addr;    }    @Override    public String toString() {        return "User [name=" + name + ", id=" + id + ", password=" + password + ", addr=" + addr + "]";    }    @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + ((addr == null) ? 0 : addr.hashCode());        result = prime * result + ((id == null) ? 0 : id.hashCode());        result = prime * result + ((name == null) ? 0 : name.hashCode());        result = prime * result + ((password == null) ? 0 : password.hashCode());        return result;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        User other = (User) obj;        if (addr == null) {            if (other.addr != null)                return false;        } else if (!addr.equals(other.addr))            return false;        if (id == null) {            if (other.id != null)                return false;        } else if (!id.equals(other.id))            return false;        if (name == null) {            if (other.name != null)                return false;        } else if (!name.equals(other.name))            return false;        if (password == null) {            if (other.password != null)                return false;        } else if (!password.equals(other.password))            return false;        return true;    }}

销售单类:

package com.example.bean;public class XiaoShouDan {    private String id;    private String time;    private int num;    public XiaoShouDan(String id, String time, int num) {        super();        this.id = id;        this.time = time;        this.num = num;    }    public XiaoShouDan() {        super();    }    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getTime() {        return time;    }    public void setTime(String time) {        this.time = time;    }    public int getNum() {        return num;    }    public void setNum(int num) {        this.num = num;    }    @Override    public String toString() {        return "XiaoShouDan [id=" + id + ", time=" + time + ", num=" + num + "]";    }    @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + ((id == null) ? 0 : id.hashCode());        result = prime * result + num;        result = prime * result + ((time == null) ? 0 : time.hashCode());        return result;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        XiaoShouDan other = (XiaoShouDan) obj;        if (id == null) {            if (other.id != null)                return false;        } else if (!id.equals(other.id))            return false;        if (num != other.num)            return false;        if (time == null) {            if (other.time != null)                return false;        } else if (!time.equals(other.time))            return false;        return true;    }}

各自javabean对应的dao:

图书类dao:

package com.example.dao;import com.example.base.DBinter;import com.example.bean.TuShu;public class TuShuDao implements DBinter{    @Override    public void insert(Object o) {        // TODO Auto-generated method stub        TuShu ts = (TuShu) o;        System.out.println("图书数据已添加!");    }    @Override    public void delete(Object o) {        // TODO Auto-generated method stub        TuShu ts = (TuShu) o;        System.out.println("图书数据已删除!");    }    @Override    public void update(Object o) {        // TODO Auto-generated method stub        TuShu ts = (TuShu) o;        System.out.println("图书数据已更新!");    }    @Override    public Object find(Object o) {        // TODO Auto-generated method stub        System.out.println("图书数据已找到!");        return null;    }}

用户类dao:

package com.example.dao;import com.example.base.DBinter;import com.example.bean.User;public class UserDao implements DBinter{    @Override    public void insert(Object o) {        // TODO Auto-generated method stub        User u = (User) o;        System.out.println("用户数据已添加!");    }    @Override    public void delete(Object o) {        // TODO Auto-generated method stub        User u = (User) o;        System.out.println("用户数据已删除!");    }    @Override    public void update(Object o) {        // TODO Auto-generated method stub        User u = (User) o;        System.out.println("用户数据已更新!");    }    @Override    public Object find(Object o) {        // TODO Auto-generated method stub        System.out.println("用户数据已找到!");        return null;    }}

销售单dao:

package com.example.dao;import com.example.base.DBinter;import com.example.bean.XiaoShouDan;public class XiaoShouDanDao implements DBinter{    @Override    public void insert(Object o) {        // TODO Auto-generated method stub        XiaoShouDan xsd = (XiaoShouDan) o;        System.out.println("销售单数据已添加!");    }    @Override    public void delete(Object o) {        // TODO Auto-generated method stub        XiaoShouDan xsd = (XiaoShouDan) o;        System.out.println("销售单数据已删除!");    }    @Override    public void update(Object o) {        // TODO Auto-generated method stub        XiaoShouDan xsd = (XiaoShouDan) o;        System.out.println("销售单数据已更新!");    }    @Override    public Object find(Object o) {        // TODO Auto-generated method stub        System.out.println("销售单数据已找到!");        return null;    }}

测试类:

package com.example.domain;import com.example.bean.TuShu;import com.example.bean.User;import com.example.bean.XiaoShouDan;import com.example.dao.TuShuDao;import com.example.dao.UserDao;import com.example.dao.XiaoShouDanDao;public class MainTest {    public static void main(String[] args) {        // TODO Auto-generated method stub        User u = new User("张三", "1", "123", "大同大学");        UserDao ud = new UserDao();        ud.insert(u);        ud.delete(u);        ud.find(u);        XiaoShouDan xsd = new XiaoShouDan("2", "2016-11-6", 50);        XiaoShouDanDao xsdd = new XiaoShouDanDao();        xsdd.insert(xsd);        xsdd.update(xsd);        xsdd.find(xsd);        TuShu ts = new TuShu("3", "安徒生童话", "人民出版社", 18.50);        TuShuDao tsd = new TuShuDao();        tsd.delete(ts);        tsd.insert(ts);    }}

这里写图片描述

0 0