Transaction Management
- spring-boot-starter-jdbc will automatically default to inject DataSourceTransactionManager
- spring-boot-starter-data-jpa will automatically default injection JpaTransactionManager
@Service
@Transactional
public class UseDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public int updatePhoneByIDOne(String phone,Long id){
String sql = "update ADMIN_USER set phone=? where ID = ?";
int i = jdbcTemplate.update(sql, new Object[]{phone, id});
int a = 1/0;
return i;
}
}
Integration jpa
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.username=
spring.datasource.password=
spring.datasource.url=
spring.jackson.serialization.indent-output=true
#spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name = "ADMIN_USER")
public class AdminUser {
@Id
@GeneratedValue(strategy = GenerationType.TABLE,generator = "pk_gen_admin_user")
@TableGenerator(name = "pk_gen_admin_user",table = "sys_id_gen",pkColumnName = "gen_name",pkColumnValue = "user_admin_user",valueColumnName = "gen_value",allocationSize = 1)
private Long id;
private String name;
private String phone;
private String province;
private String city;
private String district;
// private Date createData;
private String company;
private String remark;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
// public Date getCreateData() {
// return createData;
// }
// public void setCreateData(Date createData) {
// this.createData = createData;
// }
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
import com.fly.entity.AdminUser;
import org.springframework.data.jpa.repository.JpaRepository;
public interface AdminUserDao extends JpaRepository<AdminUser,Long> {
}
import com.fly.dao.AdminUserDao;
import com.fly.entity.AdminUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AdminUserServiceImpl {
@Autowired
private AdminUserDao adminUserDao;
public AdminUser findOne(Long id){
return adminUserDao.findOne(id);
}
public AdminUser save(AdminUser adminUser){
return adminUserDao.save(adminUser);
}
}