涉及内容:
- Spring 和 MyBatis 的整合
- Annotation的事务管理
- 响应流程
需要的lib文件:
spring 版本:spring-framework-3.1.0.RELEASE
MyBatis 版本: mybatis-3.0.6
注意:请用这以上或是更高的版本,否则会出奇怪的错误哦~
源代码:
1. 新建Oracle数据表
CREATE TABLE MYUSER
(
id VARCHAR2(10) PRIMARY KEY,
pwd VARCHAR2(10) NOT NULL,
NAME VARCHAR2(15) NOT NULL,
birthday VARCHAR2(8) NOT NULL,
salary NUMBER(10,2)
);
2. 在com.entity包下新建UserEntity.class
package com.entity;
import java.io.Serializable;
public class UserEntity implements Serializable{
private static final long serialVersionUID = -458045724375300041L;
private String userID;
private String userPWD;
private String userName;
private String userBirthday;
private String userSalary;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserPWD() {
return userPWD;
}
public void setUserPWD(String userPWD) {
this.userPWD = userPWD;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserBirthday() {
return userBirthday;
}
public void setUserBirthday(String userBirthday) {
this.userBirthday = userBirthday;
}
public String getUserSalary() {
return userSalary;
}
public void setUserSalary(String userSalary) {
this.userSalary = userSalary;
}
}
3. 在com.dao包下新建IUserDao.java 的Interface
package com.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.entity.UserEntity;
public interface IUserDao{
//这里的函数名,参数与UserMapper.xml中的id相对应。
public UserEntity getUser(String userID);
public List<UserEntity> getAllUser();
public int insertUser(UserEntity user);
public int updateUser(UserEntity user);
public int deleteUser(String userID);
}
4. 在com.service包下新建UserService.class
package com.service;
import java.util.List;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.dao.IUserDao;
import com.entity.UserEntity;
//表明该文件需要事务
@Transactional
//表明该文件是一个Service
&