當前位置:首頁 » 編程語言 » ibatis多條sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ibatis多條sql

發布時間: 2022-07-31 17:08:16

1. ibatis批量執行sql,java代碼

<delete id="member.batchDelete" parameterClass="java.util.List">
DELETE FROM tablename where id IN
<iterate conjunction="," open="(" close=")" property="conditions">
#id#
</iterate>
</delete>

如果insert 的話,只有mysql 可以執行

<insertid="member.batchInsert" parameterClass="java.util.List">
insert into tableName (id,name) values
<iterate conjunction=";" property="conditions">
(#id#,#name#)
</iterate>
</insert>

幾萬條的話,需要在java執行上sql語句是做文章了

2. ibatis中xml文件中sql語句如何把oracle中取出來的數據設為10條

ibatis其實就是執行你配置的sql語句,就是拼接,然後傳遞參數,只要limit一下就可以了比如:
<!-- mysql -->

<select id="select_1">
select * from [tableName] limit 10

</select>

<!-- sqlserver -->
<select id="select_2">
select top 10 * from [tableName]

</select>

oracle沒用過,這里不再舉例了,但是基本上和ibatis配置沒關系,只是和你的sql語句有關系。

3. ibatis 里的可以執行多個SQL語句嗎

可以,its和mybatis都可以執行多個sql語句,

4. ibatis 中 一次執行多條select 語句

只要你能保證每次這個語句執行時,表C的欄位是一樣的,那麼這樣修改
select c.uid , c.mid , c.fromIP , c.content , c.sid,c.adddate
from lybbs_author aouthror , blog_users users , $tableName$ c where
aouthror.id = users.userID and aouthror.id = c.uid and users.userID = c.uid
把你的表名以變數tableName的形式傳進來就ok了。

5. ibatis批處理和把批量數據拼成一條sql語句,哪個效能更好

效率應該一樣的,他也會把sql拼成你這樣。
只要你xml寫的語法能夠解析成你寫的sql一樣,就是一樣的效率。

既然效率一樣,那還是建議你,該用ibatis處理的東西就用他。因為擴展性、可讀性也很重要。

6. ibatis支持多條sql語句

我試過,但是沒成功,所以我也正在尋求高手指點呢,不過如果是純ibatis那這樣
private SqlMapClient sqlMap = XmlDaoManagerBuilder.buildSqlMap(reader);
public void doSomething(參數1,參數2 ) throws SQLException {
try {
sqlMap.startTransaction();
調用刪除語句;
調用添加語句;
sqlMap.commitTransaction();
} finally {
sqlMap.endTransaction();
}
}
當然如果有Spring的話也可以結合Spring的ibatis輔助類進行操作 在新的ibatis版本里已經將事物處理都交給了Spring其實大同小異

7. ibatis框架調用sqlmap,執行多條sql

沒有的吧,我記得mybatis中是可以執行2條sql的,應該ibatis也可以才是。第一條sql中的返回值是可以作為第二條sql的條件執行的。
<updateid="insertProct-ORACLE" parameterClass="com.domain.Proct">
<selectKey resultClass="int" keyProperty="seqno" >
select seqno from table where .. for update
</selectKey>
update table set seqno = seqno+1

</update>

8. Ibatis問題 查詢多條記錄 sql能查詢出結果 但返回的list為空~~我要崩潰了。。。。

Object1.selecList中的Object1 不是對應parameterClass="Object1"而是別名,<sqlMap namespace="Object1">
而Object1你需要另外重新定義接收類型
<typeAlias alias="Object1" type="test.testObj"/>
.這樣就可以了 ,如果你用到了命名空間記得在配置文件中設置<settings useStatementNamespaces="true" >就可以了