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() }); } }