MyBatis中mapper.java和mapper.xml的關(guān)系說(shuō)明
mapper.java和mapper.xml的關(guān)系
1.SysUser.java
public class SysUser extends BaseEntity
{
private static final long serialVersionUID = 1L;
private Long userId;
private Long deptId;
private String userName;
private String nickName;
private String email;
......
}2.SysUserMapper.java
public interface SysUserMapper
{
public List<SysUser> selectUserList(SysUser sysUser);
public SysUser selectUserByUserName(String userName);
public SysUser selectUserById(Long userId);
public int insertUser(SysUser user);
......
}接口定義有以下特點(diǎn):
- 1.Mapper 接口方法名和 SysUserMapper.xml 中定義的每個(gè) statement 的 id 同名。
- 2.Mapper 接口方法的輸入?yún)?shù)類型和 SysUserMapper.xml 中定義的 statement 的parameterType 類型相同。
- 3.Mapper 接口的返回類型和 SysUserMapper.xml 中定義的 statement 的 resultType 類型相同。
3.SysUserMapper.xml
1.xml文件的namespace要寫(xiě)成mapper接口的全限定類名。
<mapper namespace="com.ruoyi.project.system.mapper.SysUserMapper">
2.statement 的id和mapper中的方法名要對(duì)應(yīng)起來(lái)
比如下面,mapper中方法名為insertUser,insert的statement 標(biāo)簽id也要為insertUser
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if>
<if test="deptId != null and deptId != 0">dept_id,</if>
<if test="userName != null and userName != ''">user_name,</if>
<if test="nickName != null and nickName != ''">nick_name,</if>
<if test="email != null and email != ''">email,</if>
create_time
)values(
<if test="userId != null and userId != ''">#{userId},</if>
<if test="deptId != null and deptId != ''">#{deptId},</if>
<if test="userName != null and userName != ''">#{userName},</if>
<if test="nickName != null and nickName != ''">#{nickName},</if>
<if test="email != null and email != ''">#{email},</if>
sysdate()
)
</insert>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java計(jì)算兩個(gè)漢字相似度的實(shí)現(xiàn)方法
有時(shí)候我們希望計(jì)算兩個(gè)漢字的相似度,比如文本的 OCR 等場(chǎng)景,用于識(shí)別糾正,本文給大家詳細(xì)介紹了Java計(jì)算兩個(gè)漢字相似度的實(shí)現(xiàn)方法,文中有詳細(xì)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-11-11
Spring?WebMVC初始化Controller流程詳解
這篇文章主要介紹了Spring?WebMVC初始化Controller流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
SpringBoot 多線程事務(wù)回滾的實(shí)現(xiàn)
本文是基于springboot的@Async注解開(kāi)啟多線程,并通過(guò)自定義注解和AOP實(shí)現(xiàn)的多線程事務(wù),避免繁瑣的手動(dòng)提交/回滾事務(wù),感興趣的可以了解一下2024-02-02
Java農(nóng)夫過(guò)河問(wèn)題的繼承與多態(tài)實(shí)現(xiàn)詳解
這篇文章主要介紹了Java農(nóng)夫過(guò)河問(wèn)題的繼承與多態(tài)實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
SpringBoot使用RestTemplate發(fā)送http請(qǐng)求的實(shí)操演示
RestTemplate是Spring 框架提供的 ,可用于在應(yīng)用中調(diào)用 rest 服務(wù),它簡(jiǎn)化了與 http 服務(wù)的通信方式,統(tǒng)一了 RESTful 的標(biāo)準(zhǔn),封裝了 http 鏈接,本文給大家介紹了SpringBoot使用RestTemplate發(fā)送http請(qǐng)求的實(shí)操演示,需要的朋友可以參考下2024-11-11
SpringBoot是如何使用SQL數(shù)據(jù)庫(kù)的?
今天給大家?guī)?lái)的是關(guān)于Springboot的相關(guān)知識(shí),文章圍繞著SpringBoot是如何使用SQL數(shù)據(jù)庫(kù)的展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06

