发布网友 发布时间:2024-10-24 08:32
共1个回答
热心网友 时间:2024-10-25 09:09
使用实体类的时候:先通过 某些工具或代码自动生成的 存储过程获取数据,再加载进实体类,实际上时间消耗比直接sql大,但因为是是靠工具的,而这些工具大都是高手写的,所以会帮你降低很多隐患 ,比如SQL注入。而且因为他们已经写好了,你调用很方便。
相关工具:Java里的 Hibernate、C#里的 Linq
数据表(User为示例)的数据行以 Row 的形式给你的时候其实是还需要你自己判断处理的,比如 获取 User.Id 属性 需要 Integer.ParseInt(row["id"].ToString()); 转化成你需要的类型。
但以上两种工具都会让 数据行 成为一个类,到时候就会自动生成(Hibernate偶尔需要配置)对应的 get set 方法。
Hibernate的话: int User.getId() { return this.Id; }
Linq的话:int Id {get {return _Id; }}
既然 get set 方便了,那 编辑 就也方便了。
Hibernate :
User user = (User)dao.get(User.Class, 4); // 获取 键值是 4 的 User
user.setName("Seraph_fd"); // 修改Name为
dao.update(user); // 更新实体,会更新数据库的哟
Linq:
User user = myDataContext.User.Single(t => t.Id == 4);
user.Name = "Seraph_fd";
myDataContext.SubmitChanges(); // 提交更新