spring-jdbc

Categories:

spring原生操作数据库的方法


创建实体类

public class Dept {
    private Integer id;
    private String name;
}

创建映射Mapper类

public class DeptMapper implements RowMapper<Dept> {
    @Override
    public Dept mapRow(ResultSet resultSet, int i) throws SQLException {
        Dept dept = new Dept();//对每个属性进行映射
        dept.setName(resultSet.getString("NAME"));
        dept.setId(resultSet.getInt("ID"));
        return dept;
    }
}

创建dao接口

public interface DeptDao {
    void addDept(Dept emp);//添加
    void updateDeptById(Dept dept);//修改
    void deleteDeptById(Integer id);//删除
    List<Dept> selectAllDept();//全查
    List<Dept> selectDeptByName(String name);//条件查询
    Dept selectDeptById(Integer id);//主键查询
}

创建dao实现类

public class DeptDaoImpl implements DeptDao {
    private JdbcTemplate jdbcTemplate;

    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }
}

在spring-config.xml中配置bean

<bean id="deptDAO" class="dao.impl.DeptDaoImpl">
    <property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>

@Override
public void addDept(Dept dept) {
    String sql = "insert into DEPT(NAME) values (?)";
    Object[] params = new Object[]{dept.getName()};
    jdbcTemplate.update(sql, params);
}

@Override
public void deleteDeptById(Integer id) {
    String sql = "delete from DEPT where ID=?";
    Object[] params = new Object[]{id};
    jdbcTemplate.update(sql, params);
}

@Override
public void updateDeptById(Dept dept) {
    String sql = "update DEPT set NAME=? where ID=?";
    Object[] params = new Object[]{dept.getName(), dept.getId()};
    jdbcTemplate.update(sql, params);
}

@Override
public List<Dept> selectAllDept() {
    String sql = "select ID,NAME from DEPT";
    List<Dept> deptList = jdbcTemplate.query(sql, new DeptMapper());
    return deptList;
}

条件查

@Override
public Dept selectDeptById(Integer id) {
    String sql = "select ID,NAME from DEPT where ID =?";
    Object[] params = new Object[]{id};
    Dept dept = jdbcTemplate.queryForObject(sql, params, new DeptMapper());
    return dept;
}