在添加用户信息的时候,会首先做一个检验,判断数据库中该用户信息是否存在,如果存在该用户则不能够添加该用户,前台返回一个重复添加的结果。
与数据库交互的时候通常采用以下代码:
常用方法
//mapper
@Select("select tno from entrytrain where tno=#{tno} and year=#{year}")
public String addEntryRepeat(@Param( "tno" ) String tno,@Param( "year" ) String year);
//service
public String addEntryRepeat(String tno,String year){
return trainManagementMapper.addEntryRepeat(tno, year);
}
//controller
String addEntryRepeat= trainManagementService.addEntryRepeat(tno, year);
if(addEntryRepeat==null||addEntryRepeat.length()==0){
trainManagementService.add(entryTrain);
map.put("success","true");
}else{
map.put("success","false");
}
return map;
前台js代码如下:
function addentryusers() {
var add="/add_entryteacher";
$('#fam').form('submit',{
url: add,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.success=="true"){
$('#adddg').dialog('close'); // close the dialog
$('#ddg1').datagrid('reload'); // reload the user data
$.messager.show({
title: 'Success',
msg: '添加成功'
});
} else {
$.messager.show({
title: 'Error',
msg: result.msg
});
alert("请不要重复添加教师信息")
}
}
});
}
当添加信息重复时,前台会返回一个信息重复的结果。
当前台添加2000000003该用户信息时,结果如下所示:
简洁法
在SQL语句中使用count函数,返回结果是int类型的值,避免了空指针异常的问题。
//mapper
@Select("select count(tno) from entrytrain where tno=#{tno} and year=#{year}")
public int addEntryRepeat(@Param( "tno" ) String tno,@Param( "year" ) String year);
//service
public int addEntryRepeat(String tno,String year){
return trainManagementMapper.addEntryRepeat(tno, year);
}
//controller
Map<String,String> map=new HashMap<>();
int addEntryRepeat= trainManagementService.addEntryRepeat(tno, year);
if(addEntryRepeat==0){
trainManagementService.add(entryTrain);
map.put("success","true");
}else{
map.put("success","false");
}
return map;
用户在前台添加的信息结果如下所示: