MySQL通过实例化对象参数如何查询数据
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,下文主要给大家带来MySQL通过实例化对象参数如何查询数据 ,希望这些内容能够带给大家实际用处,这也是我编辑MySQL通过实例化对象参数如何查询数据 这篇文章的主要目的。好了,废话不多说,大家直接看下
千家信息网最后更新 2024年11月11日MySQL通过实例化对象参数如何查询数据
下文主要给大家带来MySQL通过实例化对象参数如何查询数据 ,希望这些内容能够带给大家实际用处,这也是我编辑MySQL通过实例化对象参数如何查询数据 这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
public static string QueryByEntity(T t) where T : new(){ string resultstr = string.Empty; MySqlDataReader reader = null; try { Type type = typeof(T); PropertyInfo[] properties = type.GetProperties(); string select = string.Format("Select * from {0} {1}", type.Name, "{0}"); string where = string.Empty; foreach (PropertyInfo property in properties) { var value = t.GetPropertyValue (property); if (value != null && !value.Equals(property.GetDefaultValue())) { if (string.IsNullOrEmpty(where)) { where = string.Format(" where {0}='{1}' ", property.Name, value); } else { where = string.Format(" {0} and {1} = '{2}' ", where, property.Name, value); } } } select = string.Format(select, where); MySqlConnection connection = OpenConnection(); if (connection == null) return resultstr; MySqlCommand _sqlCom = new MySqlCommand(select, connection); reader = _sqlCom.ExecuteReader(); List tList = new List (); while (reader.Read()) { T t1 = new T(); foreach (PropertyInfo property in properties) { if (!string.IsNullOrEmpty(reader[property.Name].ToString())) { property.SetMethod.Invoke(t1, new object[] { reader[property.Name] }); } } tList.Add(t1); } resultstr = JsonConvert.SerializeObject(tList); } catch (Exception ex) { Logging.Error(string.Format("查询数据库失败,{0}", ex.Message)); } finally { if (reader != null) { reader.Close(); reader.Dispose(); } } return resultstr;}internal static class ObjectExtend{ public static object GetPropertyValue (this object obj, PropertyInfo property) { Type type = typeof(T); PropertyInfo propertyInfo = type.GetProperty(property.Name); if (propertyInfo != null) { return propertyInfo.GetMethod.Invoke(obj, null); } return null; } public static object GetDefaultValue(this PropertyInfo property) { return property.PropertyType.IsValueType ? Activator.CreateInstance(property.PropertyType) : null; }}
通过实例化参数,对属性赋值,将对象作为参数传入,反射获取对象名称,列名,列值。要求对象名与表名一致,属性与列名一致。
对于以上关于MySQL通过实例化对象参数如何查询数据 ,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
对象
参数
实例
数据
查询
内容
一致
下文
属性
名称
实际
废话
数据库
更多
用处
目的
篇文章
行业
资讯
反射
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库设计 评审
数据库需要的jar
高校 数据库 现状
Python 巡检服务器脚本
计算机网络技术的基本情况
上海先进网络技术标准
广州响当当网络技术公司官网
数据库的毕业论文题目
二级网络安全违规
怎么通过服务器管理办公电脑
招行软件开发中心笔试题
电脑无法连接服务器设置
合山微信小程序数据库接口
软件开发的project
4月15日是网络安全日吗
濮阳网络技术哪家强
连接国外的服务器地址
锐思数据库行业财务均值
风扇 服务器 静音
中国信通院网络安全专家
香港服务器挖矿安全吗
公共网络安全主题班会
java数据库避坑指南
服务器环境监测
访问redis数据库
网络安全区域划分建设
河南虚拟化服务器
燕郊服务器回收厂家
计算机网络技术专业看法
苏州工控软件开发价钱是多少