Salinan kode adalah sebagai berikut:
impor java.util.list;
/***
* Antarmuka dasar
*
* @author xyq
* @param <t>
*
*/
Antarmuka publik berdasarkan <t> {
/***
* Antarmuka kueri
*
* @kembali
*/
Daftar Publik <T> Temukan (String SQL, Parameter Object [], Kelas <T> CL);
/***
* Tambah, perbarui, hapus antarmuka
* @param sql
* @param ID
* @param cl
* @kembali
*/
public int addorupDateordelete (string sql, objek [] parameter, kelas <t> cl);
}
Salinan kode adalah sebagai berikut:
impor java.sql.preparedstatement;
impor java.sql.sqlexception;
impor java.util.list;
impor javax.annotation.Resource;
impor org.springframework.jdbc.core.beanpropertyrowmapper;
impor org.springframework.jdbc.core.jdbctemplate;
impor org.springframework.jdbc.core.preparedstatementsetter;
impor com.xyq.all.dao.inf.basedaoinf;
Kelas Publik BerdasarkanAoIMPL <T> IMPLEMENSI BERDASARKANAOINF <T> {
/**
*
*/
private static final long serialversionuid = 1L;
/***
* Objek koneksi database
*/
@Resource (name = "jdbctemplate")
Private Jdbctemplate JT;
/***
* Antarmuka kueri
*/
@Mengesampingkan
Daftar Publik <T> Temukan (String SQL, Parameter Object [], kelas <T> cl) {
Daftar <T> hasil Hasil = null;
mencoba {
if (parameter! = null && parameter.length> 0)
Hasil Hasil = JT.Query (SQL, Parameter,
Beanpropertyrowmapper baru <T> (cl));
kalau tidak
// BeanpropertyrowMapper adalah kelas entitas pemetaan otomatis
hasil hasil = jt.query (sql, beanpropertyrowmapper baru <t> (cl));
} catch (Exception e) {
e.printstacktrace ();
}
Daftar Hasil Pengembalian;
}
/***
* Tambah, perbarui, hapus implementasi, kembalikan 1,0, -1
*/
@Mengesampingkan
Public int addorupDateordelete (string sql, parameter objek akhir [],
Kelas <t> cl) {
int num = 0;
mencoba {
if (parameter == null || parameter.length == 0)
num = jt.update (sql);
kalau tidak
num = jt.update (sql, new preparedStateMentsetter () {
@Mengesampingkan
setValues public void (disiapkan PS)
melempar sqlexception {
untuk (int i = 0; i <parameter.length; i ++)
ps.setObject (i + 1, parameter [i]);
}
});
} catch (Exception e) {
e.printstacktrace ();
num = -1;
}
Return Num;
}
}
Salinan kode adalah sebagai berikut:
/**
* Antarmuka Operasi Pengguna
* @author xyq
*
*/
antarmuka publik userinfodaoinf {
/***
* Periksa apakah ada pengguna
* User @param
* @kembali
*/
Public UserInfo FindUser (pengguna UserInfo);
/***
* Hapus pengguna
* User @param
* @kembali
*/
Public int deleteUserbyId (pengguna UserInfo);
/***
* Tambahkan pengguna
* User @param
* @kembali
*/
Public Int AddUser (pengguna UserInfo);
/***
* Perbarui pengguna
* User @param
* @kembali
*/
Public Int UpdateAser (pengguna UserInfo);
}
Salinan kode adalah sebagai berikut:
impor java.util.list;
impor org.springframework.stereotype.repository;
impor com.xyq.all.dao.inf.userinfodaoinf;
impor com.xyq.all.entity.userinfo;
@Repository ("userdao")
Public Class UserInfodaoImpl memperluas implementasi BRODSEAOIMPL <UserInfo>
UserInfodaoinf {
/***
* Temukan informasi pengguna
*/
@Mengesampingkan
Public UserInfo FindUser (userInfo user) {
Daftar <UserInfo> Daftar = null;
String sql = "Pilih * dari userInfo di mana nama pengguna =? Dan kata sandi =?";
Daftar = super.find (SQL,
string baru [] {user.getUserName (), user.getPassword ()},
Userinfo.class);
if (list! = null && list.size ()> 0)
return list.get (0);
kembali nol;
}
/***
* Hapus pengguna
*/
@Mengesampingkan
public int deleteUserbyId (userInfo user) {
String sql = "hapus dari userInfo di mana userid =?";
return super.addorupdateDelete (sql, integer baru [] {user.getUserId ()},
Userinfo.class);
}
/***
* Tambahkan pengguna
*/
@Mengesampingkan
public int adduser (userInfo user) {
String sql = "masukkan ke nilai userInfo (null,?,?,?)";
return super.addorupdateDelete (
SQL,
Objek baru [] {user.getUserName (), user.getPassword (),
user.getSecondPassword ()}, userInfo.class);
}
/***
* Perbarui pengguna
*/
@Mengesampingkan
Public Int UpdateAser (userInfo user) {
String sql = "Perbarui userInfo atur username =?, Kata sandi =?, SecondPassword =? Di mana userid =?";
return super.addorupdateDelete (
SQL,
Objek baru [] {user.getUserName (), user.getPassword (),
user.getSecondPassword (), user.getUserId ()},
Userinfo.class);
}