spring与JDBC_免费
下载
课程表模板下载资产负债表下载英语单词下载学习机资料下载励志文章下载
一、配置数据源
在spring容器的配置文件中,加入数据源信息:
二、配置事务:
有两种方式进行配置事务:XML配置和注解方式配置
1、 使用注解方式配置事务
在配置文件中配置命名空间tx
对事务进行管理:
使用注释完成事务操作:
定义出一个POJO类Person public class Person {
private int id;
private int age;
private String sex;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
定义一个DAO接口和实现类PersonDAO
public class PersonDAO {
private JdbcTemplate jdbcTemplate;
public void save(Person person) {
this.jdbcTemplate.update(
"insert into person(name,sex,age) values(?,?,?)", new Object[] {
person.getName(), person.getSex(), person.getAge() },
new int[] { java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.INTEGER });
}
public void update(Person person) {
this.jdbcTemplate.update(
"update person set name=?,sex=?,age=? where id=?",
new Object[] { person.getName(), person.getSex(),
person.getAge(),person.getId() }, new int[] { java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.INTEGER,java.sql.Types.INTEGER });
}
public void delete(int id) {
this.jdbcTemplate.update("delete from person where id=?",new Object[]{id},new int[] {java.sql.Types.VARCHAR});
}
public Person selectById(int id) {
return (Person)this.jdbcTemplate.queryForObject("select * from
person where id=?", new Object[]{id},new int[] {java.sql.Types.VARCHAR}, new PersonRowMapper());
}
@SuppressWarnings("unchecked")
public List selectAll() {
return (List)this.jdbcTemplate.query("select * from
person",new PersonRowMapper());
}
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
}
在使用回调函数RowMapper时,要重新定义一个类(PersonRowMapper): public class PersonRowMapper implements RowMapper{
public Object mapRow(ResultSet rs, int index) throws SQLException {
Person person = new Person();
person.setName(rs.getString("name"));
person.setSex(rs.getString("sex"));
person.setId(rs.getInt("id"));
person.setAge(rs.getInt("age"));
return person;
}
}
在Spring容器中对PersonDAO进行注入
然后就可以进行测试