Home >Database >Mysql Tutorial >MySQL语句正确插入多值如何运行?

MySQL语句正确插入多值如何运行?

WBOY
WBOYOriginal
2016-06-07 16:11:591151browse

以下的文章主要介绍的是MySQL语句正确插入多值的实际操作步骤,以及HQL多表查询及在条件 in 中插入N个变量值的实际操作,我前两天在相关网站看见的资料,觉得挺好,就拿出来供大家分享。 一条sql语句插入多组数据:insert into table values (id,name),(id,nam

以下的文章主要介绍的是MySQL语句正确插入多值的实际操作步骤,以及HQL多表查询及在条件 in 中插入N个变量值的实际操作,我前两天在相关网站看见的资料,觉得挺好,就拿出来供大家分享。

一条sql语句插入多组数据:insert into table values (id,name),(id,name),(id,name) 但似乎语句长度有限制,不能超过1MB,并且该语句是MySQL专用的写法,不是标准sql.

以下转自paradise总结的HQL多表查询的写法及in的使用:

HQL查询多表的时候,取出结果是两个对象的列表,但是我只要我自己想要的属性,之前的HQL语句是这样写的:

<ol class="dp-xml"><li class="alt"><span><span>from Hytxbz h,Tgbzk t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>

结果我debug去看query.list();是Hytxbz和Tgbzk两个对象的列表,结果并不是我想要的,我改成

<ol class="dp-xml"><li class="alt"><span><span>from Hybztx h where h.hytxbzid in (select t.hytxbzid from Tgbzk where </span><span class="attribute">t.bztgid</span><span> =:bztgid) </span></span></li></ol>

还是不行,google一把,发现可以这样写

<ol class="dp-xml"><li class="alt"><span><span>select h from Hytxbz as h,Tgbzk as t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>

如果想取得对应属性的话,也可以这样写

<ol class="dp-xml"><li class="alt"><span><span>select h.hytxbzid from Hytxbz as h,Tgbzk as t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>

发现in的语句可以这样写

<ol class="dp-xml">
<li class="alt"><span><span>String ids[]=new String[]{"1","2","3"};   </span></span></li>
<li>
<span>String </span><span class="attribute">hql</span><span>= </span><span class="attribute-value">" from com,you.YourPOJO where id in (?)"</span><span>;   </span>
</li>
<li class="alt">
<span>Query </span><span class="attribute">query</span><span> = </span><span class="attribute-value">session</span><span>.createQuery(hql);   </span>
</li>
<li><span>query .setParameters(ids); </span></li>
</ol>

相关方法:

<ol class="dp-xml">
<li class="alt"><span><span>Query setParameters(Object[] objectArray, Type[] typeArray) throws HibernateException;   </span></span></li>
<li><span>Query setParameterList(String string, Collection collection, Type type) throws HibernateException;   </span></li>
<li class="alt"><span>Query setParameterList(String string, Collection collection) throws HibernateException;   </span></li>
<li><span>Query setParameterList(String string, Object[] objectArray, Type type) throws HibernateException;   </span></li>
<li class="alt"><span>Query setParameterList(String string, Object[] objectArray) throws HibernateException </span></li>
</ol>

以上的相关内容就是对MySQL语句插入多值的介绍,望你能有所收获。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn