Jadual Kandungan
1. Sisipan data tunggal
2. Sisipan data kelompok
3. Cipta jujukan
4 pertanyaan paging Oracle
Halaman hadapan berinteraksi dengan pertanyaan paging hujung belakang
Rumah Java javaTutorial Cara menggunakan Mybatis untuk melaksanakan penyisipan kumpulan Oracle dan pertanyaan paging berdasarkan Java

Cara menggunakan Mybatis untuk melaksanakan penyisipan kumpulan Oracle dan pertanyaan paging berdasarkan Java

May 03, 2023 pm 11:52 PM
oracle java mybatis

1. Sisipan data tunggal

<!--简单SQL-->
insert into userinfo (USERID, USERNAME, AGE) values(1001,&#39;小明&#39;,20);

<!--Mybatis写法1,有序列,主键是自增ID,主键是序列-->
<insert id="insert" parameterType="com.zznode.modules.bean.UserInfo">
    <selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="userid">
      SELECT userinfo_userid_seq.nextval as userid from dual
    </selectKey>
    insert into EPG_ALARM_INFO (USERID, USERNAME, AGE)
    values (#{userid}, #{username}, #{age})
</insert>

<!--Mybatis写法2,无序列,主键是uuid,字符串-->
<insert id="insert" parameterType="com.zznode.modules.bean.UserInfo">
    insert into EPG_ALARM_INFO (USERID, USERNAME, AGE, TIME)
    values (#{userid}, #{username}, #{age}, sysdate)
</insert>
Salin selepas log masuk

2. Sisipan data kelompok

Nilai pulangan masukkan semua ditentukan oleh pilihan akhir:

<!--简单SQL, 方法1-->
INSERT ALL 
INTO userinfo (USERID, USERNAME, AGE) values(1001,&#39;小明&#39;,20)
INTO userinfo (USERID, USERNAME, AGE) values(1002,&#39;小红&#39;,18)
INTO userinfo (USERID, USERNAME, AGE) values(1003,&#39;张三&#39;,23)
select 3 from dual;
<!--简单SQL, 方法2-->
begin
    insert into userinfo (USERID, USERNAME, AGE) values(1001,&#39;小明&#39;,20);
    insert into userinfo (USERID, USERNAME, AGE) values(1001,&#39;小红&#39;,18);
    insert into userinfo (USERID, USERNAME, AGE) values(1001,&#39;张三&#39;,23);
end;
<!--简单SQL, 方法3-->
insert into userinfo (USERID, USERNAME, AGE) 
select 1001, &#39;小明&#39;, 20 from dual union all
select 1002, &#39;小红&#39;, 18 from dual union all
select 1003, &#39;张三&#39;, 23 from dual
Salin selepas log masuk
rrree

3. Cipta jujukan

  • nilai min n (/nominvalue): nilai minimum ialah n

  • nilai maks n (/nomaxvalue) : maksimum Nilai ialah n

  • bermula dengan n: mula mengira dari n

  • kenaikan sebanyak n: meningkat n setiap kali

  • cache n (/nocache): cache n nilai jujukan/ jangan cache, jika dicache, akan ada risiko lompat nombor

  • noorder ( /order): tidak Pastikan nombor jujukan dijana mengikut tertib

  • kitaran n (/nocycle): Jika nilai maksimum n dicapai, mulakan semula dari mula dengan n

  • currval: Nilai semasa jujukan Satu jujukan baharu mesti menggunakan nextval sekali untuk mendapatkan nilai, jika tidak ralat akan dilaporkan

  • seterusnya: Menunjukkan. nilai urutan seterusnya. Apabila jujukan baharu digunakan untuk kali pertama, nilai awal jujukan diperoleh Dari kali kedua ia digunakan, ia meningkat mengikut langkah yang ditetapkan

Padamkan sintaks jujukan: nama jadual urutan jujukan

<!--Mybatis写法1,无序列-->
<insert id="insertBatch" parameterType="java.util.List">
    INSERT ALL 
    <foreach collection="list" index="index" item="item">
        INTO userinfo (USERID, USERNAME, AGE)
        VALUES (#{item.userid}, #{item.username}, #{item.age})
    </foreach>
    select list.size from dual
</insert>
<!--Mybatis写法2,无序列-->
<insert id="insertBatch">
    insert into EPG_ALARM_INFO (USERID, USERNAME, AGE)
    <foreach collection="list" item="item" index="index" separator="union all">
        <!-- <foreach collection="list" item="item" index="index" separator="union all" open="(" close=")"> -->
        <!-- (select #{item.userid}, #{item.username}, #{item.age} from dual) -->
        
        <!-- 上面带括号,下面不带括号,都可以,少量数据不带括号效率高 -->
        select #{item.userid}, #{item.username}, #{item.age} from dual
    </foreach>
</insert>    
<!--Mybatis写法3,有序列-->
<insert id="insertBatch">
    insert into EPG_ALARM_INFO (USERID, USERNAME, AGE)
    SELECT userinfo_userid_seq.nextval, m.* FROM (
    <foreach collection="list" item="item" index="index" separator="union all">
        select #{item.username}, #{item.age} from dual
    </foreach>
    ) m
</insert>
Salin selepas log masuk

4 pertanyaan paging Oracle

Halaman hadapan berinteraksi dengan pertanyaan paging hujung belakang

<🎜. >pelaksanaan perniagaan perkhidmatan:

<!--
create sequence 序列名     
       increment by 1 	--每次增加几个,我这里是每次增加1
       start with 1   	--从1开始计数
       nomaxvalue      	--不设置最大值
       nocycle         	--一直累加,不循环
       nocache;        	--不建缓冲区
在插入语句中调用:序列名.nextval  生成自增主键。
-->
<!--创建序列-->
create sequence SEQ_USERINFO
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache;

<!--删除序列-->
drop sequence SEQ_USERINFO
Salin selepas log masuk

fail mapper.xml:

public List<TBadUserW> queryPageBadUserInfo(TbadUserQuery queryModel) {
    log.info("分页查询请求参数,{}", JSON.toJSONString(queryModel));
    int pageNum = queryModel.getPageNum(); // 开始页
    int pageSize = queryModel.getPageSize(); // 每页数量
    queryModel.setStart((pageNum - 1) * pageSize); // 开始行数 (+1后)
    queryModel.setEnd(pageNum * pageSize); // 结束行数
    List<TBadUserW> beans = badUserWDao.queryPageBadUserInfo(queryModel);
    log.info("最终查询数量:", beans.size());
    return beans;
}
Salin selepas log masuk

Sandarkan eksport data besar-besaran, pertanyaan kelompok

perkhidmatan pelaksanaan perniagaan:

<select id="queryPageInfo" parameterType="com.zznode.test.bean.TbadUserQuery"
        resultMap="BaseResultMap" >
    SELECT tt.*	FROM
    (
    	<!--前端分页需要 total总记录-->
        SELECT t.*, ROWNUM rown, COUNT (*) OVER () total FROM
        (
            select <include refid="Base_Column_List"/> from T_BAD_USER_W
            <where>
                <if test="city != null and city !=&#39;&#39;">
                    and city = #{city}
                </if>
                <if test="county != null and county != &#39;&#39;">
                    and county = #{county}
                </if>
                <if test="startTime != null and startTime !=&#39;&#39;">
                    and loadtime >= to_date(#{startTime} , &#39;yyyy-mm-dd hh34:mi:ss&#39;)
                </if>
                <if test="endTime != null and endTime !=&#39;&#39;">
                    and loadtime <![CDATA[<=]]> to_date(#{endTime} , &#39;yyyy-mm-dd hh34:mi:ss&#39;)
                </if>
            </where>
        )t
    )tt
    where tt.rown > #{start} and tt.rown <![CDATA[<=]]> #{end}
</select>
Salin selepas log masuk

penulisan fail mapper.xml

public List<TBadUserW> queryPageBadUserInfo(TbadUserQuery queryModel) {
    log.info("分页查询请求参数,{}", JSON.toJSONString(queryModel));
    List<TBadUserW> result = new ArrayList<>();
    int pageNum = queryModel.getPageNum(); // 开始页
    int pageSize = queryModel.getPageSize(); // 每页数量(可以每页设置为200/500/1000),每次查询的条数
    boolean searchAll = true;
    while (searchAll){
        queryModel.setStart((pageNum - 1) * pageSize); // 开始行数 (+1后)
        queryModel.setEnd(pageNum * pageSize); // 结束行数
        List<TBadUserW> beans = badUserWDao.queryPageBadUserInfo(queryModel);
        if (null == beans || beans.size() < pageSize) {
            searchAll = false;
        }
        if (CollectionUtils.isNotEmpty(beans)) {
            result.addAll(beans);
        }
        pageNum++;
    }
    log.info("最终查询数量:", result.size());
    return result;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Cara menggunakan Mybatis untuk melaksanakan penyisipan kumpulan Oracle dan pertanyaan paging berdasarkan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nombor Sempurna di Jawa Nombor Sempurna di Jawa Aug 30, 2024 pm 04:28 PM

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Weka di Jawa Weka di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Nombor Smith di Jawa Nombor Smith di Jawa Aug 30, 2024 pm 04:28 PM

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Soalan Temuduga Java Spring Soalan Temuduga Java Spring Aug 30, 2024 pm 04:29 PM

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Cuti atau kembali dari Java 8 Stream Foreach? Cuti atau kembali dari Java 8 Stream Foreach? Feb 07, 2025 pm 12:09 PM

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Java Made Simple: Panduan Pemula untuk Kuasa Pengaturcaraan Java Made Simple: Panduan Pemula untuk Kuasa Pengaturcaraan Oct 11, 2024 pm 06:30 PM

Java Made Simple: Panduan Permulaan untuk Kuasa Pengaturcaraan Pengenalan Java ialah bahasa pengaturcaraan berkuasa yang digunakan dalam segala-galanya daripada aplikasi mudah alih hingga sistem peringkat perusahaan. Untuk pemula, sintaks Java adalah ringkas dan mudah difahami, menjadikannya pilihan ideal untuk pembelajaran pengaturcaraan. Sintaks Asas Java menggunakan paradigma pengaturcaraan berorientasikan objek berasaskan kelas. Kelas ialah templat yang menyusun data dan tingkah laku yang berkaitan bersama-sama. Berikut ialah contoh kelas Java yang mudah: publicclassPerson{privateStringname;privateintage;

Cipta Masa Depan: Pengaturcaraan Java untuk Pemula Mutlak Cipta Masa Depan: Pengaturcaraan Java untuk Pemula Mutlak Oct 13, 2024 pm 01:32 PM

Java ialah bahasa pengaturcaraan popular yang boleh dipelajari oleh pembangun pemula dan berpengalaman. Tutorial ini bermula dengan konsep asas dan diteruskan melalui topik lanjutan. Selepas memasang Kit Pembangunan Java, anda boleh berlatih pengaturcaraan dengan mencipta program "Hello, World!" Selepas anda memahami kod, gunakan gesaan arahan untuk menyusun dan menjalankan program, dan "Hello, World!" Pembelajaran Java memulakan perjalanan pengaturcaraan anda, dan apabila penguasaan anda semakin mendalam, anda boleh mencipta aplikasi yang lebih kompleks.

Program Java untuk mencari kelantangan kapsul Program Java untuk mencari kelantangan kapsul Feb 07, 2025 am 11:37 AM

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

See all articles