spring的数据源配置:

<!--DataSource-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=svse"></property>
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
        <property name="username" value="sa"></property>
        <property name="password" value="svse"></property>
    </bean>

    <!--DAO-->
    <bean id="personDao" class="org.xiaoyi.dao.impl.PersonDAOImpl">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

jdbc 操作数据imple:

public class PersonDAOImpl implements PersonDAO {

    private JdbcTemplate jdbcTemplate;
//注入数据源
    public void setDataSource(DataSource dataSource) {

        this.jdbcTemplate = new JdbcTemplate(dataSource);

    }
//添加数据
    @Override
    public void addPerson(Person person) {

        String sql = "insert into person values(?,?)";
        this.jdbcTemplate.update(sql, new Object[] { person.getPname(),
                person.getAge() });

    }
//查询所有数据
    @SuppressWarnings("unchecked")
    @Override
    public List<Person> findAllPersons() {

        return this.jdbcTemplate.query("select * from person", new RowMapper() {

            @Override
            public Object mapRow(ResultSet rs, int index) throws SQLException {
                Person person = new Person();
                person.setPid(rs.getInt("pid"));
                person.setPname(rs.getString("pname"));
                person.setAge(rs.getInt("age"));

                return person;
            }

        });
    }
//根据id查询数据
    @Override
    public Person getPersonById(Integer pid) {
        String sql = "select * from person where pid=?";

        RowMapper rw = new RowMapper() {

            @Override
            public Object mapRow(ResultSet rs, int index) throws SQLException {
                Person person = new Person();
                person.setPid(rs.getInt("pid"));
                person.setPname(rs.getString("pname"));
                person.setAge(rs.getInt("age"));

                return person;
            }
        };

        return (Person) this.jdbcTemplate.queryForObject(sql,
                new Object[] { pid }, rw);
    }
//更新数据
    @Override
    public void updatePerson(Person person) {
        String sql = "update person set pname=?,age=? where pid=?";
        this.jdbcTemplate.update(sql, new Object[] { person.getPname(),
                person.getAge(), person.getPid() });
    }

}

 

 

 

 

 

 

 

 

posted on 2012-06-02 10:03  断肠夕阳丿  阅读(186)  评论(0编辑  收藏  举报