JdbcTemplate更新操作

本文介绍了一个Java应用程序中日志模块的实体类、DAO层、Service层的实现,包括日志更新删除功能及用户信息的增删改查操作,使用JdbcTemplate进行数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实体类

public class SysSaveLog {
    private Integer Id;
    private Integer deptId;
    private String userName;//用户名称
    private String userAccount;//用户账号
    private String accessFunction;//访问功能
    private Date requestTime;//请求时间
    private StringBuffer Url;//请求URL
    private String Ip;//请求IP
    private String loginFlag;
    private String delFlag;


    private String browser;
    private String os;
}

Dao层

public interface SysSaveLogDao {
	void updateDel(SysSaveLog sysSaveLog);
}
//实现类

@Repository
public class SysSaveLogDaoImpl implements SysSaveLogDao {

	@Autowired
	private JdbcTemplate jdbcTemplate;

	@Override
	public void updateDel(SysSaveLog sysSaveLog) {
//也可以这样的方式更新
  //int update = this.jdbcTemplate.update("UPDATE sys_alarms SET monitoring_id=?,manage_url=? WHERE alarm_id=?",monitoringId,manageUrl,alarmId);
		jdbcTemplate.update("update sys_save_log set del_flag=? where dept_id = ?",sysSaveLog.getDelFlag(),sysSaveLog.getDeptId());
	}

}

Service层

public interface SysSaveLogService {
	void updateDel(SysSaveLog sysSaveLog);
}

//实现类
@Service
public class SysSaveLogServiceImpl implements SysSaveLogService {

	@Autowired
	private SysSaveLogDao sysSaveLogDao;

	@Override
	public void updateDel(SysSaveLog sysSaveLog) {
	sysSaveLogDao.updateDel(sysSaveLog);
	}

}
@Service
public class UserServiceImpt implements UserService {
    @Autowired
    private JdbcTemplate jdbcTemplate;

   //获取用户总量
    @Override
    public String getAllUsers(){
        return jdbcTemplate.queryForObject("select count(1) from STUDENT", String.class);
    }
//获取全部学生
    @Override
    public List<Map<String, Object>> findAll() {
        String sql = "select * from sTUDENT";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }
//根据id获取学生
    @Override
    public Student getById(int id) {
        String sql = "select * from student where id = ? ";
        List<Student> stu = jdbcTemplate.query(sql,new Object[]{id}, new StudentRowMapper());
        Student student = null;
        if(!stu.isEmpty()){
            student = stu.get(0);
        }
        return student;
    }

    /**
     * 插入用户-防止sql注入-可以返回该条记录的主键
     * @param student
     * @return
     */
    @Override
    public int addStu(Student student) {
        String sql = "insert into student(id,name,sex,age) values(null,?,?,?)";
        KeyHolder keyHolder = new GeneratedKeyHolder();
        int resRow = jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps = connection.prepareStatement(sql,new String[]{"id"});
                ps.setString(1,student.getName());
                ps.setInt(2,student.getSex());
                ps.setInt(3,student.getAge());
                return ps;
            }
        },keyHolder);
        System.out.println("操作记录数:"+resRow+" 主键:"+keyHolder.getKey());
        return Integer.parseInt(keyHolder.getKey().toString());
    }
//根据id删除学生
    @Override
    public int deleteStu(int id) {
        String sql = "delete from student where id = ?";
        return jdbcTemplate.update(sql,id);
    }
//修改学生信息
    @Override
    public int updateStu(Student student) {
        String sql = "update student set name=?,sex=?,age=? where id=?";
        int res = jdbcTemplate.update(sql, new PreparedStatementSetter() {
            @Override
            public void setValues(PreparedStatement preparedStatement) throws SQLException {
                preparedStatement.setString(1,student.getName());
                preparedStatement.setInt(2,student.getSex());
                preparedStatement.setInt(3,student.getAge());
                preparedStatement.setInt(4,student.getId());
            }
        });
        return res;
    }
//判断是否存在该学生
    @Override
    public int isHasStu(int id) {
        String sql = "select * from student where id=?";
        List<Student> student = jdbcTemplate.query(sql, new Object[]{id}, new StudentRowMapper());
        if (student!=null && student.size()>0){
            return 1;
        } else {
            return 0;
        }
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值