当前位置: 移动技术网 > IT编程>开发语言>Java > spring的jdbctemplate的crud的基类dao

spring的jdbctemplate的crud的基类dao

2019年07月22日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:import java.util.list; /*** * 基本接口 *  * @author xyq * @

复制代码 代码如下:

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);
 }

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网