国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - spring的jdbctemplate的crud的基類dao

spring的jdbctemplate的crud的基類dao

2019-11-05 11:40java技術(shù)網(wǎng) JAVA教程

本文主要介紹了使用spring的jdbctemplate進(jìn)行增刪改查的基類Dao的簡(jiǎn)單寫法,需要的朋友可以參考下

代碼如下:


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

 

 

復(fù)制代碼代碼如下:


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;
 /***
  * 數(shù)據(jù)庫連接對(duì)象
  */
 @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是自動(dòng)映射實(shí)體類的
    resultList = jt.query(sql, new BeanPropertyRowMapper<T>(cl));
  } catch (Exception e) {
   e.printStackTrace();
  }
  return resultList;
 }

 /***
  * 添加,更新,刪除的實(shí)現(xiàn),返回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;
 }
}

 

 

復(fù)制代碼代碼如下:


/**
 * 用戶操作接口
 * @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);
}

 

 

復(fù)制代碼代碼如下:


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

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高清一区二区 | 欧美一区二区三区 | 亚洲免费人成在线视频观看 | 狠狠干av | 少妇一区二区三区免费观看 | 免费一区二区三区 | 美日韩成人 | 亚洲精品视频在线播放 | 欧洲一级毛片 | 亚洲国产精品网站 | 国产日韩精品在线观看 | 亚洲国产精品一区二区www | 色综合视频网 | 韩日精品视频 | 国产高清一区二区 | 日韩成人在线观看 | 亚洲欧美在线视频 | 国产精品自拍视频 | 超黄网站在线观看 | 青青久在线视频 | 最新黄色网址在线播放 | 成人综合区一区 | 久久精品国产99国产 | 欧美日韩精品免费观看 | 欧美一区二区三区xxxx监狱 | 日韩高清一区 | 天天躁日日躁aaaaxxxx | 在线视频91 | 日韩看片 | 精品在线观看一区 | 久久精品一区二区国产 | 成人黄大片视频在线观看 | 狠狠色噜噜狠狠狠8888米奇 | 国产精品久久久久久久久久三级 | 中文字幕亚洲欧美 | 亚洲国产一区二区在线观看 | 免费又黄又爽又猛的毛片 | 国产成人高清 | 欧美一级片在线观看 | 午夜羞羞视频 | 国产一区二区三区不卡在线观看 |