코드 사본은 다음과 같습니다.
Java.util.list 가져 오기;
/***
* 기본 인터페이스
*
* @Author XYQ
* @param <t>
*
*/
공개 인터페이스 기반 기반 <t> {
/***
* 쿼리 인터페이스
*
* @반품
*/
공개 목록 <T> 찾기 (String SQL, Object [] 매개 변수, 클래스 <T> CL);
/***
* 추가, 업데이트, 삭제 인터페이스
* @param sql
* @param id
* @Param CL
* @반품
*/
public int addorupdateordelete (String SQL, Object [] 매개 변수, 클래스 <t> cl);
}
코드 사본은 다음과 같습니다.
Java.sql.preparedStatement import;
java.sql.sqlexception 가져 오기;
Java.util.list 가져 오기;
import javax.annotation.resource;
org.springframework.jdbc.core.beanpropertyrowmapper;
import org.springframework.jdbc.core.jdbctemplate;
import org.springframework.jdbc.core.preparedStatementSetter;
com.xyq.all.dao.inf.basedaoinf import;
공개 클래스 기반 기반 <t>는 기반을 구현 <t> {
/**
*
*/
개인 정적 최종 최종 긴 SerialversionUID = 1L;
/***
* 데이터베이스 연결 객체
*/
@Resource (이름 = "jdbctemplate")
개인 jdbctemplate JT;
/***
* 쿼리 인터페이스
*/
@보수
공개 목록 <T> 찾기 (String SQL, Object [] 매개 변수, 클래스 <T> Cl) {
List <T> resultList = null;
노력하다 {
if (매개 변수! = null && parameters.length> 0)
resultList = jt.Query (SQL, 매개 변수,
새로운 beanpropertyrowmapper <t> (cl));
또 다른
// BeanPropertyRowmapper는 자동 매핑 엔티티 클래스입니다
resultList = jt.Query (SQL, New BeanPropertyRowMapper <T> (CL));
} catch (예외 e) {
e.printstacktrace ();
}
Return resultlist;
}
/***
* 추가, 업데이트, 삭제 구현, 1,0, -1을 반환합니다
*/
@보수
public int addorupdateordelete (문자열 SQL, 최종 개체 [] 매개 변수,
클래스 <t> cl) {
int num = 0;
노력하다 {
if (parameters == null || 매개 변수 .length == 0)
num = jt.update (SQL);
또 다른
num = jt.update (sql, new proadstatementesTer () {
@보수
public void setValues (PreperationStatement PS)
sqlexception 던지기 {
for (int i = 0; i <parameters.length; i ++)
ps.setobject (i + 1, 파라미터 [i]);
}
});
} catch (예외 e) {
e.printstacktrace ();
num = -1;
}
Num 리턴;
}
}
코드 사본은 다음과 같습니다.
/**
* 사용자 작동 인터페이스
* @Author XYQ
*
*/
공개 인터페이스 userInfodaoinf {
/***
* 사용자가 있는지 확인하십시오
* @param 사용자
* @반품
*/
public userInfo findUser (userInfo user);
/***
* 사용자를 삭제하십시오
* @param 사용자
* @반품
*/
public int deleteuserbyid (userinfo user);
/***
* 사용자 추가
* @param 사용자
* @반품
*/
Public Int AddUser (userInfo 사용자);
/***
* 사용자 업데이트
* @param 사용자
* @반품
*/
public int updateUser (userInfo user);
}
코드 사본은 다음과 같습니다.
Java.util.list 가져 오기;
org.springframework.stereotype.repository import;
import com.xyq.all.dao.inf.userinfodaoinf;
com.xyq.all.entity.userinfo 가져 오기;
@repository ( "userdao")
공개 클래스 userinfodaoimpl은 기반 <usterinfo> empless를 확장합니다
userinfodaoinf {
/***
* 사용자 정보를 찾으십시오
*/
@보수
public userInfo findUser (userInfo user) {
목록 <UserInfo> list = null;
문자열 sql = "userInfo에서 username =? and password =?";
list = super.find (SQL,
새 String [] {user.getusername (), user.getpassword ()},
userInfo.class);
if (list! = null && list.size ()> 0)
return list.get (0);
널 리턴;
}
/***
* 사용자를 삭제하십시오
*/
@보수
public int deleteuserbyid (userinfo user) {
문자열 sql = "userInfo에서 userId =?";
return super.addorupdateordelete (sql, new Integer [] {user.getuserid ()},
userInfo.class);
}
/***
* 사용자 추가
*/
@보수
public int adduser (userInfo user) {
문자열 sql = "userInfo 값 (null,?,?,?)에 삽입";
return super.addorupdateordelete (
SQL,
new Object [] {user.getusername (), user.getpassword (),
user.getSecondPassword ()}, userInfo.class);
}
/***
* 사용자 업데이트
*/
@보수
public int updateUser (userInfo user) {
문자열 sql = "UserInfo 업데이트 username =?, password =?, secondPassword =? here userId =?";
return super.addorupdateordelete (
SQL,
new Object [] {user.getusername (), user.getpassword (),
user.getSecondPassword (), user.getUserId ()},
userInfo.class);
}