spring的事务管理

spring的数据库编程

spring提供了jdbc模板,对数据库操作

jdbc的配置

1
2
3
4
5
6
7
8
9
10
<bean id="dataSrouce" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/root"/>
</bean>
<context:component-scan base-package="jdbc" />
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSrouce"/>
</bean>

配置jdbc模板时要把dataSrouce注入到JdbcTemplate,在Dao时要把JdbcTemplate注入到bean中

1
2
3
4
5
6
	····
@Component("jdbc")
public class JDBCtest {
@Autowired
private JdbcTemplate jdbcTemplate;
····

JdbcTemplate通过update的增删改

1
2
3
String sql="update user set name=?,sex=? ";
Object paraml[]={"xy","n"}
jdbcTemplate.update(sql,paraml);

JdbcTemplate通过 query 查询

RowMapper映射器把数据库的字段和类的属性对应起来

1
2
3
String sql = "select * from user";
RowMapper<String> rowMapper=new BeanPropertyRowMapper<String>(String.class);
List<String> list = jdbcTemplate.query(sql, new Object[]{id}, String.class);

事务管理

事务就是一组操作,要么全做,要么全不做

编程式事务管理

声明式事务管理