动态拼接SQL 语句

Posted 幽冥狂_七

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态拼接SQL 语句相关的知识,希望对你有一定的参考价值。

     public T Get<T>(int id)
        {

            Type type = typeof(T);
            string columnStrings = string.Join(",", type.GetProperties().Select(p=>string.Format("[{0}]")));

            string sql = string.Format("select {0} from  [{1}] where id={2}", columnStrings,type.Name,id);


            return default(T);
        }

 完整例子

  public T Get<T>(int id)
        {

            Type type = typeof(T);
            string columnStrings = string.Join(",", type.GetProperties().Select(p=>string.Format("[{0}]")));

            string sql = string.Format("select {0} from  [{1}] where id={2}", columnStrings,type.Name,id);

            object t = Activator.CreateInstance(type);
            using (SqlConnection conn = new SqlConnection("链接字符串"))
            {
                SqlCommand com = new SqlCommand(sql,conn);
                conn.Open();
                SqlDataReader reader = com.ExecuteReader();
                if (reader.Read())
                {
                    foreach (var item in type.GetProperties())
                    {
                        item.SetValue(t,reader[item.Name]);
                    }
                }

            }

            return (T)t;
        }

 

以上是关于动态拼接SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis学习笔记:动态SQL

sql语句拼接

SQL语句问题动态拼接

动态执行SQL语句,拼接字符串,select中带有一个变量

java动态拼接sql语句并且执行时给sql语句的参数赋值

Mybatis的动态sql拼接语句