事务操作-搭建事务操作环境
1.创建数据库表,添加记录
mysql连接数据库时报此错误:
//String url = "jdbc:mysql://localhost:3306/user_db" 如果使用这句就会报错。
//Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.
String url = "jdbc:mysql://localhost:3306/db_cjky?useUnicode=true&characterEncoding=utf8";
其中&需要转义为&;进行使用
(1)service注入dao,在dao注入JdbcTemplate,在JdbcTemplate注入DataSource
@Service public class UserService { //注入Dao @Autowired private UserDao userDao; }
@Repository public class UserDaoImpl implements UserDao{ @Autowired private JdbcTemplate jdbcTemplate; }
3.在dao创建两个方法:多钱和少钱的方法,在service创建转账的方法
dao层:
@Repository public class UserDaoImpl implements UserDao{ @Autowired private JdbcTemplate jdbcTemplate; //lucy转100给mary //少钱的方法 @Override public void reduceMoney() { String sql = "update t_account set money=money-? where username=?"; jdbcTemplate.update(sql,100,"lucy"); } //多钱的方法 @Override public void addMoney() { String sql = "update t_account set money=money+? where username=?"; jdbcTemplate.update(sql,100,"mary"); } }
service层:
@Service public class UserService { //注入Dao @Autowired private UserDao userDao; //转账方法 public void accountMoney(){ //lucy少100 userDao.reduceMoney(); //mary多100 userDao.addMoney(); } }