spring的jdbctemplate的crud的基类dao
import java.util.list;
/***
* 基本接口
*
* @author xyq
* @param <t>
*
*/
public interface basedaoinf<t> {
/***
* 查询接口
*
* @return
*/
public list<t> find(string sql, object[] parameters, class<t> cl);
/***
* 添加,更新,删除接口
* @param sql
* @param id
* @param cl
* @return
*/
public int addorupdateordelete(string sql,object[] parameters, class<t> cl);
}
import java.sql.preparedstatement;
import java.sql.sqlexception;
import java.util.list;
import javax.annotation.resource;
import org.springframework.jdbc.core.beanpropertyrowmapper;
import org.springframework.jdbc.core.jdbctemplate;
import org.springframework.jdbc.core.preparedstatementsetter;
import com.xyq.all.dao.inf.basedaoinf;
public class basedaoimpl<t> implements basedaoinf<t> {
/**
*
*/
private static final long serialversionuid = 1l;
/***
* 数据库连接对象
*/
@resource(name = "jdbctemplate")
private jdbctemplate jt;
/***
* 查询接口
*/
@override
public list<t> find(string sql, object[] parameters, class<t> cl) {
list<t> resultlist = null;
try {
if (parameters != null && parameters.length > 0)
resultlist = jt.query(sql, parameters,
new beanpropertyrowmapper<t>(cl));
else
// beanpropertyrowmapper是自动映射实体类的
resultlist = jt.query(sql, new beanpropertyrowmapper<t>(cl));
} catch (exception e) {
e.printstacktrace();
}
return resultlist;
}
/***
* 添加,更新,删除的实现,返回1,0,-1
*/
@override
public int addorupdateordelete(string sql, final object[] parameters,
class<t> cl) {
int num = 0;
try {
if (parameters == null || parameters.length == 0)
num = jt.update(sql);
else
num = jt.update(sql, new preparedstatementsetter() {
@override
public void setvalues(preparedstatement ps)
throws sqlexception {
for (int i = 0; i < parameters.length; i++)
ps.setobject(i + 1, parameters[i]);
}
});
} catch (exception e) {
e.printstacktrace();
num = -1;
}
return num;
}
}
/**
* 用户操作接口
* @author xyq
*
*/
public interface userinfodaoinf {
/***
* 查询是否有用户
* @param user
* @return
*/
public userinfo finduser(userinfo user);
/***
* 删除用户
* @param user
* @return
*/
public int deleteuserbyid(userinfo user);
/***
* 添加用户
* @param user
* @return
*/
public int adduser(userinfo user);
/***
* 更新用户
* @param user
* @return
*/
public int updateuser(userinfo user);
}
import java.util.list;
import org.springframework.stereotype.repository;
import com.xyq.all.dao.inf.userinfodaoinf;
import com.xyq.all.entity.userinfo;
@repository("userdao")
public class userinfodaoimpl extends basedaoimpl<userinfo> implements
userinfodaoinf {
/***
* 查找用户信息
*/
@override
public userinfo finduser(userinfo user) {
list<userinfo> list = null;
string sql = "select * from userinfo where username=? and password =? ";
list = super.find(sql,
new string[] { user.getusername(), user.getpassword() },
userinfo.class);
if (list != null && list.size() > 0)
return list.get(0);
return null;
}
/***
* 删除用户
*/
@override
public int deleteuserbyid(userinfo user) {
string sql = "delete from userinfo where userid = ?";
return super.addorupdateordelete(sql, new integer[] { user.getuserid() },
userinfo.class);
}
/***
* 添加用户
*/
@override
public int adduser(userinfo user) {
string sql = "insert into userinfo values(null,?,?,?)";
return super.addorupdateordelete(
sql,
new object[] { user.getusername(), user.getpassword(),
user.getsecondpassword() }, userinfo.class);
}
/***
* 更新用户
*/
@override
public int updateuser(userinfo user) {
string sql = "update userinfo set username=?,password = ?,secondpassword = ? where userid=?";
return super.addorupdateordelete(
sql,
new object[] { user.getusername(), user.getpassword(),
user.getsecondpassword(), user.getuserid() },
userinfo.class);
}
上一篇: STM32 外部中断
下一篇: 通过CAN总线驱动VESC
推荐阅读
-
spring的jdbctemplate的crud的基类dao
-
c#隐藏基类方法的作用
-
如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?
-
spring使用RedisTemplate的操作类访问Redis
-
Spring MVC实现一次简单的CRUD示例
-
spring的jdbctemplate的crud的基类dao
-
c#隐藏基类方法的作用
-
构建自己的PHP框架--抽象Controller的基类,框架controller_PHP教程
-
Zend Framework教程之动作的基类Zend_Controller_Action详解,controller基类_PHP教程
-
spring使用RedisTemplate的操作类访问Redis