本篇文章给大家带来的内容是关于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实例化_MySQL如何通过实例化对象参数查询数据 ?(源代码)相关推荐

  1. 神奇的LINQ ---可以通过对象来查询数据

    摘要: linq:在一个新项目里面要用这个技术,然后自己拿起书看了下,记录下自己的新发现,只适合简单入门的新童鞋看呀!!! 结论: linq是对象领域与数据领域的一个桥梁. 为什么会出现Linq? 我 ...

  2. kibana数据导入导出_MySQL数据库批量导出和导入查询数据

    MySQL数据库批量导出和导入查询数据的过程是使用-e参数去执行命令. 由于工作需要,我需要先在一个MySQL库中查询出结果,然后以查出结果为参数,去放入另外一个MySQL数据库中当成where的条件 ...

  3. mysql实例化_mysql多实例实例化数据库

    实例化数据库:/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/ ...

  4. php mysql 地理位置_MySQL版中国省市区地址地区信息数据表

    web开发中经常会用到国内省市区的数据表信息,下面是作者从网上下载的一个MySQL版本的数据表,做了一下整理,发布出来与大家分享一下,也方便以后使用.文章结尾附有数据表的下载地址. DROP TABL ...

  5. MySql中 where IN 中多个参数查询

    mysql查询语句where条件in 正常情况需要查询的语句: select *from temp where id in ('1','2','3','4','5') 在实际过程中发现一直查不出数据, ...

  6. MySQL 根据指定某一天的时间查询数据

    语句:select * from xiaofei where FROM_UNIXTIME(time,'%Y-%m-%d') = '2021-08-08' 上面的语句,只要是在 2021年8月8日内的数 ...

  7. mysql 工具_MySQL压力测试工具,值得收藏

    一.MySQL自带的压力测试工具--Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新 ...

  8. 【09-JVM面试专题-实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?】

    实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗? 实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?你 ...

  9. arch mysql日志位置_MySQL 日志文件与相关参数

    1 .参数文件及mysql参数 查看mysql 的 my.cnf 配置文件位置命令:>./bin/mysql --help | grep my.cnf 查看mysql 的参数设置命令: mysq ...

最新文章

  1. 动手实验2-ODCH(11)
  2. lvs-nat负载均衡模式
  3. JSP的基本构成详解
  4. 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
  5. python正则表达式匹配模式屠夫之桥_小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...
  6. 全网最全的git命令大全
  7. Maven 国内镜像很慢解决的方法
  8. 现任明教教主CCNP Security Secure第十一天视频共享
  9. Centos7端口查看命令
  10. 皮线光缆和预制成端皮线光缆招标采购技术标准
  11. 电脑版微信每天自动发送
  12. LTE手机接收灵敏度究竟如何?
  13. asp.net把网站发布到本机IIS上
  14. 嵌入式行业需要什么样的技术人才?
  15. phpfpm怎么连接mysql_配置nginx、mysql、php-fpm的方法
  16. 股神巴菲特名言及股神巴菲特选股技巧有哪些
  17. 信用卡和借记卡、储蓄卡
  18. 万门大学MySQL特训班_如何评价万门大学「理论物理一月特训班」?
  19. 安装ZoneAlarm提示无法找到zpeng24.dll解决方法
  20. C++网络编程学习:服务端多线程分离业务处理高负载

热门文章

  1. 在 SAP Kyma 上部署一个 Go MSSQL API Endpoint
  2. 使用代码创建SAP CRM服务请求文档的subject测试数据
  3. SAP CRM orgman set的更改会触发Pricing set的创建
  4. SAP CRM WebClient UI表格编辑模式的调试明细
  5. create-react-app的template和assembed resource
  6. SAP Fiori launchpad的PageChipInstance实现
  7. 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
  8. Enterprise search result view column显示technical name
  9. BAdI implementation in ABAP workbench dispatch event
  10. CM: word template merge 工具