mapper.xml文件
<!-- 通用 修改 -->
<update id="alter" parameterType="AlterField">
update ${sqlTableName} set ${fieldName} = #{fieldValue} where ${pkName} = #{id}
</update>
mapper抽象接口文件
/**
* 跟新操作
* @param record
* @return
*/
int alter(Object record);
service文件
/**
* 修改
* @param record 与数字段表对应的pojo
* @return
*/
public Boolean update(AlterField record){
SqlSession session = getBaseSession();
ServiceDaoMapper mapper = session.getMapper(ServiceDaoMapper.class);
boolean result = true;
try {
int count = mapper.alter(record);
session.commit();
if (count <= 0) {
result = false;
}
} catch (Exception e) {
e.printStackTrace();
result = false;
}finally {
session.close();
}
return result;
}
controller文件
/**
* 通用修改
*/
@Test
public void alertee(){
AlterField af = new AlterField();
//定义修改的数据库名称
af.setSqlTableName("sex");
af.setFieldName("sex");
af.setFieldValue("不男不女");
af.setPkName("id");
af.setId(3);
Boolean update = ServiceDao.getInstance().update(af);
System.out.println(update);
}
AlterField文件
package cn.rccs.ssm.pojo;
import org.apache.ibatis.type.Alias;
import cn.rccs.ssm.utils.Utils;
/**
* 接受修改字段 或者是验证主键
* @author Administrator
*
*/
@Alias("AlterField")
public class AlterField {
/*那条记录修改*/
private Integer id;
/*字段名*/
private String fieldName;
/*字段值*/
private String fieldValue;
/*数据库名称*/
private String sqlTableName;
/*主键名称*/
private String pkName;
/*哪个库 是在代码表时用的 0是基本库 1是学工库*/
private Integer whatDataBase;
/*特殊地方 在学籍异动修改异动类别的时候 修改基本库时*/
private Integer ryID;
public Integer getRyID() {
return ryID;
}
public void setRyID(Integer ryID) {
this.ryID = ryID;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getFieldValue() {
return Utils.changBlankToNull(fieldValue);
}
public void setFieldValue(String fieldValue) {
this.fieldValue = fieldValue;
}
public String getSqlTableName() {
return sqlTableName;
}
public void setSqlTableName(String sqlTableName) {
this.sqlTableName = sqlTableName;
}
public String getPkName() {
return pkName;
}
public void setPkName(String pkName) {
this.pkName = pkName;
}
public Integer getWhatDataBase() {
return whatDataBase;
}
public void setWhatDataBase(Integer whatDataBase) {
this.whatDataBase = whatDataBase;
}
}
pojo文件
package cn.rccs.ssm.pojo;
import java.io.Serializable;
import org.apache.ibatis.type.Alias;
@Alias("Sex")
public class Sex implements Serializable{
private int id;
private String sex;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}