Java实体类

博客概要

     昨晚和几个搞技术的室友讨论问题,谈到了实体类,就问自己“实体类有啥作用?”、“实体类是干啥的?”、“什么是实体类?”…一直到入睡前,想了很多,从之前做过的项目出发,脑补了流程,终于在床上想的差不多了,然后…失眠了一小会儿,果然夜晚的时光最美妙= =早上醒来,看了会儿书,吃了早餐后,就赶紧来写博客啦~

代码栗子

     要注意的是,博主在这里放置的代码是不完整的,仅供理解范例使用,如需要完整一点的代码,请参考博主以下博文内容:
【1】JDBC——增删查改
【2】JDBC——(从复杂到简单)连接使用数据库的多种实现方法
【3】面向百度

实体类(User)


	private int uid;
	private String username;
	private String password;

	@Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
    
    public User() {
    }

    public User(int uid, String username, String password) {
        this.uid = uid;
        this.username = username;
        this.password = password;
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
	

数据持久层-实现(UserDaoImpl)


    /**
     * 新增
     * @param user
     * @return
     */
    @Override
    public boolean doAddU(User user) {
        try {
            conn = db.getConn();
            String sql = "insert into tb_ws_user values(null,?,?)";

			System.out.print("请输入用户名称:");
        	String username = in.next();
        	System.out.print("请输入用户密码:");
        	String password = in.next();
       		User users = new User(username,password);
        
            Object[] params = {user.getUsername(), user.getPassword()};
            int i = db.executeUpdate(sql, params);
            if (i > 0) {
                //新增成功
                return true;
            } else {
                //新增失败
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            db.closeResource(rs, pstm, conn);
        }
        return false;
    }

    /**
     * id单查
     * @param uid
     * @return
     */
    @Override
    public void doFindByIdU(int uid) {
        try {
            conn = db.getConn();
            String sql = "select * from tb_ws_user where uid=?";

			System.out.print("请输入用户编号:");
        	int uid = in.nextInt();

            Object[] params = {uid};
            rs = db.executeQuery(sql, params);

            while (rs.next()) {
                System.out.println("*用户编号:" + rs.getInt(1) + ",\t*用户名:" + rs.getString(2) + ",\t*用户密码:" + rs.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

实体类

概念与作用

     由上图可知,直观的来看,实体类就是一个定义了属性,拥有setter、getter、无参构造方法(基本必备)、toString方法、有参方法(看需求)的一个类。

     由例图可知,实体类可以在数据传输过程中对数据进行封装,相当于一个“工具”、“容器”、“载体”,能存储、传输数据,能管理数据,使用方法对数据进行操作。

数据流程

使用经验

     现在回想,在使用过程中,其实实体类和数据库-表是一一对应的:

数据库-表使用实体类
一张表一个类
一条数据、一行数据一个对象
一行中的一列一个属性

     所以得出以下几点经验:

  1. 实体类名,尽量和数据库中的表名一一对应
  2. 实体类中的属性对应数据库表中的字段,相关的命名最好也一一对应
  3. 实体类内方法主要有,setter、getter方法,用于设置、获取数据
  4. 实体类属性一般为private类型,方法为public类型
  5. 实体类应该有,无参、有参构造方法

总结

     “回溯”这种原本以为已经用的“滚瓜烂熟”的技术点的时候,也还是能学到不少东西,基础还需要继续扎实…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值