نسخة الكود كما يلي:
استيراد java.util.list ؛
/***
* الواجهة الأساسية
*
* Author xyq
* param <T>
*
*/
الواجهة العامة على أساس <t> {
/***
* واجهة الاستعلام
*
* @يعود
*/
القائمة العامة <T> Find (String SQL ، Object [] Parameters ، Class <T> cl) ؛
/***
* إضافة ، تحديث ، حذف واجهات
* param sql
* @param id
* param cl
* @يعود
*/
public int addorupDateordElete (String SQL ، Object [] parameters ، class <t> cl) ؛
}
نسخة الكود كما يلي:
استيراد java.sql.preparedStatement ؛
استيراد java.sql.sqlexception ؛
استيراد java.util.list ؛
استيراد javax.annotation.Resource ؛
استيراد org.springframework.jdbc.core.BeanPropertyRowMapper ؛
استيراد org.springframework.jdbc.core.jdbctemplate ؛
استيراد org.springframework.jdbc.core.preparedStatementSetter ؛
استيراد com.xyq.all.dao.inf.basedaoinf ؛
الطبقة العامة على أساسها <T> تنفذ على أساس <t> {
/**
*
*/
خاص ثابت نهائي طويل المسبانيويد = 1L ؛
/***
* كائن اتصال قاعدة البيانات
*/
Resource (name = "jdbctemplate")
الخاص jdbctemplate JT ؛
/***
* واجهة الاستعلام
*/
@تجاوز
القائمة العامة <T> البحث (String SQL ، Object [] Parameters ، Class <T> CL) {
قائمة <T> resultlist = null ؛
يحاول {
إذا (المعلمات! = null && parameters.length> 0)
resultlist = jt.query (SQL ، المعلمات ،
New BeanPropertyRowMapper <T> (CL)) ؛
آخر
// BeanPropertyRowMapper هي فئة كيان رسم الخرائط التلقائي
resultlist = jt.query (SQL ، New BeanPropertyRowMapper <T> (CL)) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
قائمة النتائج ؛
}
/***
* إضافة ، تحديث ، حذف التنفيذ ، إرجاع 1،0 ، -1
*/
@تجاوز
public int addorupdateordelete (سلسلة SQL ، الكائن النهائي [] معلمات ،
فئة <T> CL) {
int num = 0 ؛
يحاول {
إذا (المعلمات == null || parameters.length == 0)
num = jt.update (sql) ؛
آخر
num = jt.update (sql ، new ReparedStatementSetter () {
@تجاوز
setValues public void (PreparedStatement PS)
يلقي sqlexception {
لـ (int i = 0 ؛ i <parameters.length ؛ i ++)
ps.SetObject (i + 1 ، المعلمات [i]) ؛
}
}) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
num = -1 ؛
}
عودة NUM ؛
}
}
نسخة الكود كما يلي:
/**
* واجهة تشغيل المستخدم
* Author xyq
*
*/
الواجهة العامة userInfodaoInf {
/***
* تحقق مما إذا كان هناك مستخدمون
* param user
* @يعود
*/
UserInfo PinciptInfo FindUser (UserInfo user) ؛
/***
* حذف المستخدم
* param user
* @يعود
*/
Public Int DeleteUserById (مستخدم userInfo) ؛
/***
* إضافة المستخدم
* param user
* @يعود
*/
int adduser العامة (مستخدم userInfo) ؛
/***
* تحديث المستخدمين
* param user
* @يعود
*/
int updateuser العامة (مستخدم userInfo) ؛
}
نسخة الكود كما يلي:
استيراد java.util.list ؛
استيراد org.springframework.stereotePe.Repository ؛
استيراد com.xyq.all.dao.inf.userinfodaoinf ؛
استيراد com.xyq.all.entity.userinfo ؛
repository ("userdao")
يمتد userinfodaoimpl من الفئة العامة على مقرها
userinfodaoinf {
/***
* ابحث عن معلومات المستخدم
*/
@تجاوز
user userinfo finduser (userinfo user) {
قائمة <SetherInfo> list = null ؛
String SQL = "SELECT * من userInfo حيث اسم المستخدم =؟ و Password =؟" ؛
قائمة = super.find (SQL ،
سلسلة جديدة [] {user.getusername () ، user.getPassword ()} ،
userInfo.class) ؛
if (list! = null && list.size ()> 0)
قائمة الإرجاع. get (0) ؛
العودة لاغية.
}
/***
* حذف المستخدم
*/
@تجاوز
Public Int DeleteUserById (UserInfo user) {
String sql = "delete من userInfo حيث userId =؟" ؛
return super.addorupdateordelete (SQL ، New Integer [] {user.getuserid ()} ،
userInfo.class) ؛
}
/***
* إضافة المستخدم
*/
@تجاوز
int adduser العامة (مستخدم userInfo) {
String sql = "insert في قيم UserInfo (NULL ،؟ ،؟ ،؟)" ؛
إرجاع Super.AddorupDateordelete (
SQL ،
كائن جديد [] {user.getusername () ، user.getPassword () ،
user.getSecondPassword ()} ، userInfo.class) ؛
}
/***
* تحديث المستخدمين
*/
@تجاوز
Public Int UpdateUser (UserInfo user) {
String SQL = "Update userInfo set username =؟
إرجاع Super.AddorupDateordelete (
SQL ،
كائن جديد [] {user.getusername () ، user.getPassword () ،
user.getsecondpassword () ، user.getuserid ()} ،
userInfo.class) ؛
}