MySQL数据库干货_26——ORM编程思想

ORM简介

对象关系映射(英语:Object Relational Mapping,简称ORM,或O/R mapping)是一种为了解决面向对象语言与关系数据库存在的互不匹配的现象。

实体类

实体类就是一个定义了属性,拥有getter、setter、无参构造方法(基本必备)的一个类。实体类可以在数据传输过程中对数据进行封装,相当于一个“工具”、“容器”、“载体”,能存储、传输数据,能管理数据。

实体类特点:

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

ORM使用

Users实体类

public class Users {
    private int userid;
    private String userName;
    private int userAge;

    public int getUserid() {
        return userid;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getUserAge() {
        return userAge;
    }

    public void setUserAge(int userAge) {
        this.userAge = userAge;
    }

    @Override
    public String toString() {
        return userid+" "+userName+" "+userAge;
    }
}

ORM映射

/**
 * 通过ResultSet获取结果集测试类
 */
public class ResultSetTest {
    /**
     * 获取数据库中的数据
     */
    public List<Users> selectUsersAll(){
        Connection connection=null;
        PreparedStatement preparedStatement=null;
        ResultSet resultSet=null;
        List<Users> list =new ArrayList<>();
        try{
            //与数据库获取连接
            connection=JdbcUtils.getConnection();
            //获取PrepareStatement对象
            preparedStatement=connection.prepareStatement("select * from users");
            //执行查询
            resultSet = preparedStatement.executeQuery();
            //操作ResultSet对象获取查询的结果集
            while (resultSet.next()){
                //获取列中的数据
                int userid = resultSet.getInt(1);
                String username = resultSet.getString(2);
                int userage = resultSet.getInt(3);
                //System.out.println(anInt+" "+string+" "+anInt1);

                //使用ORM编程思想
                Users users=new Users();
                users.setUserid(userid);
                users.setUserName(username);
                users.setUserAge(userage);
                list.add(users);
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JdbcUtils.closeResource(preparedStatement,connection,resultSet);
        }
        return list;
    }
}

posted @ 2023-11-13 07:45  Gjq-  阅读(13)  评论(0编辑  收藏  举报  来源