67,512
社区成员
发帖
与我相关
我的任务
分享
import java.util.List;
import org.springframework.orm.jpa.support.JpaDaoSupport;
import org.springframework.transaction.annotation.Transactional;
import test.com.rapae.model.Account;
@Transactional
public abstract class AccountServiceImpl extends JpaDaoSupport implements AccountService {
public Account login(String username, String password) {
List<?> result = getJpaTemplate().find("from Account where username = ? and password = ?", username, password);
return (Account) (result.isEmpty()?null:result.get(0));
}
}
<bean id="accountServiceImpl"
class="com.javaforge.rapae.factory.GenericRapaeFactoryBean">
<property name="target"
value="test.com.rapae.service.AccountServiceImpl" />
<property name="rapaeProxyHandler" ref="rapaeProxyHandler" />
</bean>
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@Entity
@Table(name = "ACCOUNT")
@SequenceGenerator(name = "ACCOUNT_SEQUENCE", sequenceName = "SEQ_ACCOUNT", initialValue = 1, allocationSize = 1)
public class Account implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ACCOUNT_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ACCOUNT_SEQUENCE")
private Long id;
@Column(name = "USERNAME",length=20, unique = true, nullable = false)
private String username;
@Column(name = "PASSWORD",length=20, nullable = false)
private String password;
@Column(name = "REG_TIME", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date registerTime;
Getter/Setter
public int hashCode() {
return (this.id == null) ? 0 : this.id.hashCode();
}
public boolean equals(Object object) {
if (object instanceof Account) {
final Account obj = (Account) object;
return (this.id != null) ? this.id.equals(obj.id)
: (obj.id == null);
}
return false;
}
}
import java.util.Collection;
import org.springframework.transaction.annotation.Transactional;
import test.com.rapae.model.Account;
import com.javaforge.rapae.annotation.Rapae;
import com.javaforge.rapae.annotation.crud.*;
import com.javaforge.rapae.util.pagination.Page;
import com.javaforge.rapae.util.pagination.Pagination;
@Transactional
public interface AccountService {
/**
* 注册新帐号
*
* @param account
* @return
*/
@Create
Account register(Account account);
/**
* 通过ID获取帐号
*
* @param id
* @return
*/
@Read
Account getById(Long id);
/**
* 帐号修改
*
* @param account
* @return
*/
@Update
Account update(Account account);
/**
* 删除帐号
*
* @param id
* @return
*/
@Delete
Account delete(Long id);
/**
* 通过用户名获取帐号
*
* @param username
* @return
*/
@Rapae(query = "from Account where username = ?")
Account getByUsername(String username);
/**
* 帐号登录
*
* @param username
* @param password
* @return
*/
@Rapae(query = "from Account where username = ? and password = ?")
Account login(String username, String password);
/**
* 不翻页获取所有的帐号
* @return
*/
@Rapae(query="from Account")
Collection<Account> findAll();
/**
* 翻页查询获取所有的帐号
* @param username
* @return
*/
@Rapae(query="from Account")
Pagination<Account> countPageFindAll(Page page);
}
<bean id="rapaeProxyHandler"
class="com.javaforge.rapae.handler.JPARapaeProxyHandler"
scope="prototype">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<bean id="accountService"
class="com.javaforge.rapae.factory.GenericRapaeFactoryBean">
<property name="target"
value="test.com.rapae.service.AccountService" />
<property name="rapaeProxyHandler" ref="rapaeProxyHandler" />
</bean>