コードコピーは次のとおりです。
java.util.listをインポートします。
/***
*基本インターフェイス
*
* @author xyq
* @param <t>
*
*/
パブリックインターフェイスBasedaoInf <t> {
/***
*クエリインターフェイス
*
* @戻る
*/
パブリックリスト<t> find(string sql、object []パラメーター、クラス<t> cl);
/***
*インターフェイスを追加、更新、削除します
* @param sql
* @param id
* @Param CL
* @戻る
*/
public int addorupdateordelete(string sql、object []パラメーター、クラス<t> cl);
}
コードコピーは次のとおりです。
Java.sql.preparedStatementをインポートします。
java.sql.sqlexceptionをインポートします。
java.util.listをインポートします。
javax.annotation.resourceをインポートします。
Import org.springframework.jdbc.core.beanpropertyrowmapper;
org.springframework.jdbc.core.jdbctemplateをインポートします。
Import org.springframework.jdbc.core.preparedStatementetter;
com.xyq.all.dao.inf.basedaoinfをインポートします。
Public Class BasedAoiMpl <T>実装basedaoinf <t> {
/**
*
*/
private static final long serialversionuid = 1l;
/***
*データベース接続オブジェクト
*/
@resource(name = "jdbctemplate")
プライベートJDBCTEMPLATE JT;
/***
*クエリインターフェイス
*/
@オーバーライド
パブリックリスト<t> find(string sql、object []パラメーター、クラス<t> cl){
リスト<t> resultlist = null;
試す {
if(parameters!= 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(string sql、final objecter []パラメーター、
class <t> cl){
int num = 0;
試す {
if(parameters == null || parameters.length == 0)
num = jt.update(sql);
それ以外
num = jt.update(sql、new reprentStatementSetter(){
@オーバーライド
public void setValues(preatedStatement ps)
sqlexceptionを投げる{
for(int i = 0; i <parameters.length; i ++)
ps.SetObject(i + 1、パラメーター[i]);
}
});
} catch(例外e){
e.printstacktrace();
num = -1;
}
numを返します。
}
}
コードコピーは次のとおりです。
/**
*ユーザー操作インターフェイス
* @author xyq
*
*/
public interface userinfodaoinf {
/***
*ユーザーがいるかどうかを確認します
* @paramユーザー
* @戻る
*/
public userinfo finduser(userinfo user);
/***
*ユーザーを削除します
* @paramユーザー
* @戻る
*/
public int deleteuserbyid(userinfo user);
/***
*ユーザーを追加します
* @paramユーザー
* @戻る
*/
public int adduser(userinfo user);
/***
*ユーザーを更新します
* @paramユーザー
* @戻る
*/
public int updateUser(userinfo user);
}
コードコピーは次のとおりです。
java.util.listをインポートします。
Import org.springframework.stereotype.repository;
com.xyq.all.dao.inf.userinfodaoinfをインポートします。
com.xyq.all.entity.userinfoをインポートします。
@Repository( "userdao")
Public Class UserInFodaoIMPLは、BasedAoimpl <UserInfo>実装を拡張します
userinfodaoinf {
/***
*ユーザー情報を見つけます
*/
@オーバーライド
public userinfo finduser(userinfo user){
List <UserInfo> list = null;
string sql = "select * from userinmame =?and password =?";
list = super.find(sql、
new String [] {user.getUsername()、user.getPassWord()}、
userInfo.class);
if(list!= null && list.size()> 0)
return list.get(0);
nullを返します。
}
/***
*ユーザーを削除します
*/
@オーバーライド
public int deleteuserbyid(userinfo user){
string sql = "userinfo where userid =?";
super.addorupdateordelete(sql、new Integer [] {user.getuserid()}、
userInfo.class);
}
/***
*ユーザーを追加します
*/
@オーバーライド
public int adduser(userinfo user){
string sql = "userinfo値に挿入(null、?、?、?)";
super.addorupdateordeleteを返します(
SQL、
new object [] {user.getUsername()、user.getPassWord()、
user.getSecondPassWord()}、userInfo.class);
}
/***
*ユーザーを更新します
*/
@オーバーライド
public int updateUser(userinfo user){
string sql = "userinfo set username =?、password =?、、secondpassword =?where userid =?";
super.addorupdateordeleteを返します(
SQL、
new object [] {user.getUsername()、user.getPassWord()、
user.getSecondPassWord()、user.getuserid()}、
userInfo.class);
}