MyBatis操作DB2 數(shù)據(jù)庫

話不多說秒拔,直接上代碼聊训!

實體類

User.java

@Data
public class User {
    private String userId;
    private String username;
    private String password;
    private String age;
}

數(shù)據(jù)操作層

UserDao.java

@Mapper
public interface UserDao {


    /**
     *  新增
     */
    Integer insert(User user);

    /**
     * 動態(tài)新增
     */
    Integer insertUser(User user);

    /**
     * 批量新增
     */ 
    Integer insertUserList(List<User> users);

    /**
     * 刪除
     */
    Integer deleteByUsername(String userId);

    /**
     * 根據(jù)userID批量刪除
     */
    Integer batchDeleteByUserId(List<String> userId);


    /**
     *  查詢
     */
    User selectByUsername(String username);

    /**
     * 模糊查詢
     */
    List<User> selectUser(User user);

    /**
     * 根據(jù)用戶Id批量查詢
     */
    List<User> selectByUserIdList(List<String> ids);

    /**
     * 更新
     */
    Integer update(String userId, String password);


    /**
     * 動態(tài)更新
     */
    Integer updateUser(User user);



mapper

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.examp.db2Test.dao.UserDao">

    <!--新增-->
    <insert id="insert" parameterType="com.examp.db2Test.entity.User">
        insert 
            into msk.user(userId, username, password, sex) 
            values(#{userId}, #{username}, #{password}, #{sex})
    </insert>

    <!--動態(tài)新增-->
    <insert id="insertUser" parameterType="com.examp.db2Test.entity.User">
        insert into msk.user

        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="username != null" >
                username,
            </if>
            <if test="password != null" >
                password,
            </if>
            <if test="sex != null" >
                sex,
            </if>
        </tirm>

        <trim prefix="values(" suffix=")" suffixOverrides=",">
            <if test="username != null" >
                username = #{username, jdbcType="VARCHAR"}
            </if>
            <if test="password != null" >
                password = #{password, jdbcType="VARCHAR"}
            </if>
            <if test="sex != null" >
                sex = #{sex, jdbcType="VARCHAR"}
            </if>
        </trim>
    </insert>


    <!-- 批量新增 -->
    <insert id='insertUserList'>
        insert into msk.user
            (userId, username, password, sex)
        values
        <foreach collection="list" item="user" separator=",">
            (
                #{user.userId}, #{user.username}, #{user.password}, #{user.sex}
            )
        </foreach>
    </insert>

    <!--刪除-->
    <delete id="deleteByUsername" parameterType="String">
        delete msk.user where userId=#{userId}
    </delete>

    <!-- 根據(jù)userID批量刪除 -->
    <delete id="batchDeleteByUserId">
        delete 
            from msk.user 
        where userId in 
        (
            <foreach collection="list" item="userId" separator=",">
                #{userId}
            </foreach>
        )
    </delete>

    <!--查詢-->
    <select id="select" resultType="com.examp.db2Test.entity.User">
        select 
            userId, username, password, sex 
        from msk.user where username=#{username}
    </select>

    <!--模糊查詢-->
    <select id="selectUser" resultType="com.examp.db2Test.entity.User">
        select 
            userId, username, password, sex
        from msk.user
            where 1=1  
        <if test="username !=null and username !=''">
            and username like '%' || #{username} || '%'
        </if>
        <if test="password !=null and password !=''">
            and password like '%' || #{password} || '%'
        </if>
        <if test="sex !=null and sex !=''">
            and sex like '%' || #{sex} || '%'
        </if>
    </select>

    <!-- 根據(jù)用戶Id批量查詢 -->
    <select id="selectByUserIdList" resultType="com.examp.db2Test.entity.User">
        select 
            userId, username, password, sex
        from msk.user
        where userId in 
        <foreach collection="list" item="userId" open="(" close=")" separator=",">
            #{userId}
        </foreach>
    </select>

    <!--更新-->
    <update id="update" parameterType="String">
        update
            msk.user 
            set password = #{password}
            where userId=#{userId}
    </update>

    <!-- 動態(tài)更新 -->
    <update id="updateUser" parameterType="com.examp.db2Test.entity.User">
        update msk.user
        <set>
            <if test="username != null" >
                username = #{username, jdbcType="VARCHAR"}
            </if>
            <if test="password != null" >
                password = #{password, jdbcType="VARCHAR"}
            </if>
            <if test="sex != null" >
                sex = #{sex, jdbcType="VARCHAR"}
            </if>
        </set>
        where userId = #{userId, jdbcType=VARCHAR}
    </update>
   
</mapper>

以上這些日常操作基本夠用,其他數(shù)據(jù)庫基本也差不多是這樣战转,根據(jù)需要稍作修改即可凿叠。如有不足,還請指正

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昆淡,一起剝皮案震驚了整個濱河市锰瘸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昂灵,老刑警劉巖避凝,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異眨补,居然都是意外死亡管削,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進店門撑螺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來含思,“玉大人,你說我怎么就攤上這事甘晤『耍” “怎么了?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵线婚,是天一觀的道長遏弱。 經(jīng)常有香客問我,道長塞弊,這世上最難降的妖魔是什么漱逸? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮游沿,結(jié)果婚禮上饰抒,老公的妹妹穿的比我還像新娘。我一直安慰自己诀黍,他們只是感情好袋坑,可當我...
    茶點故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔗草,像睡著了一般咒彤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咒精,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天镶柱,我揣著相機與錄音,去河邊找鬼模叙。 笑死歇拆,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播故觅,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼厂庇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了输吏?” 一聲冷哼從身側(cè)響起权旷,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贯溅,沒想到半個月后拄氯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡它浅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年译柏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姐霍。...
    茶點故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡鄙麦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镊折,到底是詐尸還是另有隱情胯府,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布恨胚,位于F島的核電站盟劫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏与纽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一塘装、第九天 我趴在偏房一處隱蔽的房頂上張望急迂。 院中可真熱鬧,春花似錦蹦肴、人聲如沸僚碎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勺阐。三九已至,卻和暖如春矛双,著一層夾襖步出監(jiān)牢的瞬間渊抽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工议忽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懒闷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像愤估,于是被迫代替她去往敵國和親帮辟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,442評論 2 359