日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统中常用操作基类(SSH项目中)非常非常经典的部分

發布時間:2024/9/27 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统中常用操作基类(SSH项目中)非常非常经典的部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

package com.css.common.hibernate3;

?

import java.io.Serializable;

import java.util.List;

import java.util.Map;

?

?

/**

?* DB層的Dao-接口類 <br/>

?*

?* @author何青

?*/

publicinterfaceGenericHibernateDao<T> {

??? /**

???? *添加一個對象

???? * @param t

???? * @throws Exception

???? */

??? publicvoid save(T t)throws Exception;

?

??? /**

???? * 更新一對象

???? * @param t

???? * @throws Exception

???? */

??? publicvoid update(T t)throws Exception;

?

??? /**

???? * 加載一對象

???? * @param id

???? * @return T

???? * @throws Exception

???? */

??? public T load(Serializable id)throws Exception;

?

??? /**

???? * 獲取一對象

???? * @param id

???? * @return T

???? * @throws Exception

???? */

??? public T get(Serializable id)throws Exception;

?

??? /**

???? * 刪除一個對象

???? * @param o

???? * @throws Exception

???? */

??? publicvoid remove(Object o)throws Exception;

???

??? /**

???? * 將傳入的游離狀態的對象的屬性復制到持久化對象中,并返回該持久化對象。?

???? * 如果該session中沒有關聯的持久化對象,加載一個,如果傳入對象未保存,保存一個副本并作為持久對象返回,傳入對象依然保持游離狀態

???? * @param entity POJO實體

???? * @return持久化對象

???? * @throws Exception

???? */

??? public Object merge(Object entity)throws Exception;

?

??? /**

???? * 執行本地SQL語句

???? * 【注意:不能執行Select查詢語句】

???? * @param sql

???? * @throws Exception

???? */

??? publicvoid executeSQL(String sql)throws Exception;

?

? ??/**

???? * 執行本地SQL語句

???? * 【注意:只能執行Select查詢語句】

???? * @param sql

???? * @return List

???? * @throws Exception

???? */

??? @SuppressWarnings("unchecked")

??? public List listSQL(String sql)throws Exception;

?

??? ?/**

???? * 執行本地SQL語句

???? * 【注意:只能執行Select查詢語句】

???? * @param sql

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return List

??? ?* @throws Exception

???? */

??? @SuppressWarnings("unchecked")

??? public List listSQL(String sql,boolean cache)throws Exception;

???

???

??? /**

??? ?* 執行本地SQL語句

??? ?* 【注意:只能執行Select查詢語句】

??? ?* @param sql

??? ?* @return查詢指定的字段值

??? ?* @throws Exception

??? ?*/

??? public Object valueSQL(final String sql)throws Exception;

??? /**

???

???? * 刪除

???? * @param tableName

???? * @param fieldName

???? * @param fieldValues [支持批量刪除]<br/>如:id=4id="4,5"

???? * @throws Exception

???? */

??? publicvoid delete(String tableName, String fieldName, String fieldValues)throws Exception;

?

??? /**

???

???? * 刪除

???? * @param tableName

???? * @param map [支持多條件組合刪除]<br/>如:map.put("id",3),map.put("username","myname")

???? * @throws Exception

???? */

??? @SuppressWarnings("unchecked")

??? publicvoid delete(String tableName, Map map)throws Exception;

?

??? /**

???? * 更新對象

???? * @param hql

???? * @param params指定的參數

???? * @throws Exception

???? */

?? ?publicvoid update(String hql, Object[] params)throws Exception;

?

??? /**

???? * 批量更新實體

???? * @param tableName

???? * @param updateFieldName

???? * @param updateFieldValue

???? * @param updateKeyName

???? * @param updateKeyValue

???? * @return返回執行結果,-1表示失敗

???? * @throws Exception

???? */

??? publicvoid update(final String tableName, String updateFieldName, String updateFieldValue, String updateKeyName, String updateKeyValue)throws Exception;

?

??? /**

???? * 查詢VO對象列表<br/>

???? * 如:getHibernateTemplate().find(hql, params)

???? * @param hql HQL語句

???? * @param params指定的HQL語句帶的多個參數值

???? * @return數據集合

???? * @throws Exception

???? */

??? publicList list(String hql, Object[] params) throws Exception;

???

??? /**

???? * 查詢VO對象列表<br/>

???? * 如:Query query = session.createQuery(hql);query.setString(i,str);

???? * @param hql HQL語句

???? * @param values指定的HQL語句帶的多個參數值

???? * @return數據集合

???? * @throws Exception

???? */

??? publicList queryList(final String hql,final Object[] values)throws Exception;

???

??? /**

???? * 查詢VO對象列表<br/>

???? * 如:Query query = session.createQuery(hql);query.setString(i,str);

???? * @param hql HQL語句

???? * @param values指定的HQL語句帶的多個參數值

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return數據集合

? ???* @throws Exception

???? */

??? publicList queryList(final String hql,final Object[] values,finalboolean cache)throws Exception;

???

??? /**

???? * 查詢Model對象列表<br/>

???? * 如:Query query = session.createSQLQuery(sql);query.setString(i,str);

???? * @param sqlBean封裝ModelSqlBean對象

???? * @return數據集合

???? * @throws Exception

???? */

??? publicList queryList(finalSqlBean sqlBean) throws Exception;

???

??? /**

???? * 查詢Model對象列表<br/>

???? * 如:Query query = session.createSQLQuery(sql);query.setString(i,str);

???? * @param sqlBean封裝ModelSqlBean對象

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return數據集合

???? * @throws Exception

???? */

??? publicList queryList(finalSqlBean sqlBean,finalboolean cache)throws Exception;

?

??? /**

???? * 根據SQL語句進行分頁查詢

???? * @param curPage請求的當前頁

???? * @param pageSize每頁顯示多少行

???? * @param sqlBean封裝ModelSqlBean對象

???? * @return PageSupport封裝好的分頁對象

???? */

??? publicPageSupport queryPage(int curPage,int pageSize,SqlBean sqlBean)throws Exception;

???

??? /**

???? * 根據SQL語句進行分頁查詢

???? * @param curPage請求的當前頁

???? * @param pageSize每頁顯示多少行

???? * @param sqlBean封裝ModelSqlBean對象

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return PageSupport封裝好的分頁對象

???? */

??? publicPageSupport queryPage(int curPage,int pageSize,SqlBean sqlBean,boolean cache)throws Exception;

???

??? /**

???? * 根據HQL語句進行分頁查詢

???? * @param curPage請求的當前頁

???? * @param pageSize每頁顯示多少行

???? * @param hql HQL語句

???? * @param values指定的HQL語句帶的多個參數值

???? * @return PageSupport封裝好的分頁對象

???? */

??? publicPageSupport queryPage(finalint curPage,finalint pageSize,final String hql,final Object[] values)throws Exception;

???

??? /**

???? * 根據HQL語句進行分頁查詢

???? * @param curPage請求的當前頁

???? * @param pageSize每頁顯示多少行

???? * @param hql HQL語句

???? * @param values指定的HQL語句帶的多個參數值

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return PageSupport封裝好的分頁對象

???? */

??? @SuppressWarnings("unchecked")

??? public PageSupport queryPage(finalint curPage, finalint pageSize,final String hql,final Object[] values,finalboolean cache)throws Exception;

???

??? /**

???? * 獲取一個對象

???? * @param hql HQL語句

???? * @param values指定的參數數組

???? * @return查詢的唯一對象

???? * @throws Exception

???? */

??? public Object queryForObject(final String hql, final Object[] values)throws Exception;

???

??? /**

???? * 獲取一個對象

???? * @param hql HQL語句

???? * @param values指定的HQL語句帶的多個參數值

???? * @param cache是否應用Hibernate的二級緩存<br/>true表示開啟 false 表示不開啟

???? * @return查詢的唯一對象

???? * @throws Exception

???? */

??? public Object queryForObject(final String hql, final Object[] values,finalboolean cache)throws Exception;

?

}

?

?

接口的實現類:

package com.css.common.hibernate3;

?

import java.io.Serializable;

import java.lang.reflect.Field;

import java.math.BigDecimal;

import java.math.BigInteger;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

?

import org.hibernate.HibernateException;

import org.hibernate.Query;

import org.hibernate.Session;

import org.springframework.orm.hibernate3.HibernateCallback;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import org.springframework.util.Assert;

?

/**

?* DB層的Dao -實現類? <br/>

?*

?* @author 何青

?*/

public class GenericHibernateDaoImpl<T> extends HibernateDaoSupport implements GenericHibernateDao<T> {

???

??? private Class<T> concreteClass;

?

??? public GenericHibernateDaoImpl(Class<T> concreteClass) {

?????? ?this.concreteClass = concreteClass;

??? }

???

??? @SuppressWarnings("unchecked")

??? public T load(Serializable id) throws Exception {

??????? return (T)getHibernateTemplate().load(concreteClass, id);

??? }

?

??? @SuppressWarnings("unchecked")

??? public T get(Serializable id) throws Exception {

??????? return (T)getHibernateTemplate().get(concreteClass, id);

??? }

?

??? public void save(T t) throws Exception {

??????? getHibernateTemplate().save(t);

??? }

?

??? public void update(T t) throws Exception {

??????? getHibernateTemplate().update(t);

??? }

?

??? public void remove(Object o) throws Exception {

??????? getHibernateTemplate().delete(o);

??? }

???

??? public Object merge(Object entity) throws Exception {

?????? Assert.notNull(entity);

?????? return getSession().merge(entity);

??? }

?

??? public void delete(String tableName, String fieldName, String fieldValues) throws Exception {

??????? StringBuffer _hql = new StringBuffer();

??????? _hql.append(" delete from ").append(tableName);

??????? _hql.append(" where ").append(fieldName).append(" in (").append(fieldValues).append(")");

??????? executeSQL(_hql.toString());

??? }

?

??? @SuppressWarnings("unchecked")

???

??? public void delete(String tableName, Map map) throws Exception {

??????? if (map != null && map.size() > 0) {

??????? ??? StringBuffer _hql = new StringBuffer();

??????? ??? _hql.append(" delete from ");

??????????? _hql.append(tableName);

??????????? _hql.append(" where ");

??????????? Iterator iterator = map.entrySet().iterator();

??????????? while (iterator.hasNext()) {

??????????????? Map.Entry entity = (Map.Entry)iterator.next();

??????????????? _hql.append(entity.getKey()).append(" in (").append(entity.getValue()).append(")");

??????????????? _hql.append(" and ");

??????????? }

??????????? String sql = _hql.toString();

??????????? if (sql.trim().endsWith("and")) {

??????????? ??? sql = sql.substring(0, _hql.length() - 4);

??????????? }

??????????? executeSQL(sql);

??????? }

??? }

?

??? public void update(String hql, Object[] params) throws Exception {

??????? getHibernateTemplate().bulkUpdate(hql, params);

??? }

?

??? public void update(final String tableName, String updateFieldName, String updateFieldValue,

??????? String updateKeyName, String updateKeyValue) throws Exception{

??????? StringBuffer _hql = new StringBuffer();

??????? _hql.append(" update ").append(tableName);

??????? _hql.append(" set ").append(updateFieldName).append(" = ").append(updateFieldValue);

??????? _hql.append(" where ").append(updateKeyName).append(" in (").append(updateKeyValue).append(")");

??????? executeSQL(_hql.toString());

??? }

???

??? public void executeSQL(String sql) throws Exception {

??????? getSession().createSQLQuery(sql).executeUpdate();

??? }

???

??? @SuppressWarnings("unchecked")

??? public List listSQL(String sql) throws Exception {

??????? return listSQL(sql,false);

??? }

???

??? @SuppressWarnings("unchecked")

??? public List listSQL(String sql,boolean cache) throws Exception{

??? ??? Query query = getSession().createSQLQuery(sql);

??? ??? //? 設置Ehcache的二級緩存

??? ??? query.setCacheable(cache);

??? ??? return query.list();

??? }

???

??? @SuppressWarnings("unchecked")

??? public Object valueSQL(final String sql) throws Exception {

??? ??? return getHibernateTemplate().execute(

????????????? new HibernateCallback() {

????????????????? public Object doInHibernate(Session sess) throws HibernateException {

???????????????????? Query query = sess.createSQLQuery(sql);

???????????????????? return query.uniqueResult();

????????????????? }

????????????? }

?????? );

??? }

?

??? @SuppressWarnings("unchecked")

??? public List list(String hql, Object[] params) throws Exception{

??????? return getHibernateTemplate().find(hql, params);

??? }

???

??? public List queryList(final String hql, final Object[] values) throws Exception {

??? ??? return queryList(hql,values,false);

??? }

?

??? @SuppressWarnings("unchecked")

??? public List queryList(final String hql, final Object[] values,final boolean cache) throws Exception {

?????? ?return (List)getHibernateTemplate().execute(new HibernateCallback() {

??? ??????????? public Object doInHibernate(Session sess) {

??? ??????????????? Query query = sess.createQuery(hql);

??? ??????????????? //?設置Ehcache的二級緩存

??? ??????????????? query.setCacheable(cache);

?????????????????

??? ??????????????? setQueryParams(values, query);

??? ??????????????

??? ??????????????? return query.list();

??? ??????????? }

??? ??????? });

??? }

???

??? public List queryList(final SqlBean sqlBean) throws Exception {

??? ??? return queryList(sqlBean,false);

?? ?}

?

??? @SuppressWarnings("unchecked")

??? public List queryList(final SqlBean sqlBean,final boolean cache) throws Exception {

?????? ?return (List)getHibernateTemplate().execute(new HibernateCallback() {

??? ??????????? public Object doInHibernate(Session sess) {

???? ???????????????

??????????????????? Query query = getSessionQuery(sqlBean.toString(), sess, "sql");

??????????????????? //?設置Ehcache的二級緩存

??????????????????? query.setCacheable(cache);

???????????????????

??????????????????? setQueryParams(sqlBean.getParams(),query);

???????????????????

??????????????????? return getModels(sqlBean.getBeanNames(),query.list(),sqlBean.getModelClass(),null);

??? ??????????? }

??? ??????? });

??? }

??????

??? public Object queryForObject(final String hql, final Object[] values) throws Exception{

?????? return queryForObject(hql,values,false);

??? }

???

??? public Object queryForObject(final String hql, final Object[] values,final boolean cache) throws Exception{

?????? return getHibernateTemplate().execute(

????????????? new HibernateCallback() {

????????????????? public Object doInHibernate(Session sess) throws HibernateException {

???????????????????? Query query = sess.createQuery(hql);

??? ????????????????? //?設置Ehcache的二級緩存

???????????????????? query.setCacheable(cache);

???????????????????? if (values != null) {

???????????????????????? for (int i = 0; i < values.length; i++){

??????????????????????????? query.setParameter(i, values[i]);

???????????????????????? }

???????????????????? }

???????????????????? return query.uniqueResult();

????????????????? }

????????????? }

?????? );

??? }

?

??? @SuppressWarnings("unchecked")

??? public PageSupport queryPage(final int curPage, final int pageSize, final String hql, final Object[] values) throws Exception{

??????? return queryPage(curPage,pageSize,hql,values,false);

??? }

???

??? @SuppressWarnings("unchecked")

??? public PageSupport queryPage(final int curPage, final int pageSize, final String hql, final Object[] values,final boolean cache) throws Exception{

??????? return (PageSupport)getHibernateTemplate().execute(new HibernateCallback() {

??????????????? public Object doInHibernate(Session sess) throws HibernateException {

??????????????? ??? PageSupport ps = new PageSupport();

??????????????????? ps.setCurPage(curPage);

??????????????????? ps.setPageSize(pageSize);

???????????????????

??????????????????? Query query = sess.createQuery(hql);

??????????????????? //?設置Ehcache的二級緩存

??????????????????? query.setCacheable(cache);

???????????????????

????????????? ??????setQueryParams(values, query);

???????????????????

??????????????????? query.setFirstResult(ps.getStartIndex());

?????????????? ?????query.setMaxResults(pageSize);

???????????????????

??????????????????? setQueryTotalCount(hql, values, ps,cache,"hql");

???????????????????

??????????????????? ps.setItems(query.list());

??????????????????? return ps;

??????????????? }

??????????? }

??????? );

??? }

?

???

??? @SuppressWarnings("unchecked")

??? public PageSupport queryPage(final int curPage, final int pageSize, final SqlBean sqlBean) throws Exception {

??? ????? return queryPage(curPage,pageSize,sqlBean,false);

??? }

?

??? public PageSupport queryPage(final int curPage, final int pageSize,final SqlBean sqlBean,final boolean cache) throws Exception {

??????? return (PageSupport)getHibernateTemplate().execute(new HibernateCallback() {

????????????? public Object doInHibernate(Session sess) {

????????????? ? PageSupport ps = new PageSupport();

????????????????? ps.setCurPage(curPage);

????????????????? ps.setPageSize(pageSize);

?????????????????

????????????????? Query query = getSessionQuery(sqlBean.toString(), sess, "sql");

????????????????? //? 設置Ehcache的二級緩存

????????????????? query.setCacheable(cache);

?????????????????

????????????????? setQueryParams(sqlBean.getParams(),query);

?????????????????

????????????????? query.setFirstResult(ps.getStartIndex());

?????????????? ???query.setMaxResults(pageSize);

?????????????????

????????????????? if(sqlBean.getCountSql() != null && !sqlBean.getCountSql().equals("")){

??? ??????????????? ??Query countQuery = getSessionQuery(sqlBean.getCountSql(), sess, "sql");

??????????????? ??? ??setQueryParams(sqlBean.getCountParams(), countQuery);

??????????????? ??? ??Object objT = countQuery.uniqueResult();

??????????????? ??? ??if(objT instanceof BigDecimal){

??????????????? ?????? ??BigDecimal obj = (BigDecimal) objT;

??????????????? ?????? ??if (obj!=null) {

??????????????? ?????????? ??ps.setTotalCount(obj.intValue());

??????????????? ?????? ??}else{

??????????????? ?????????? ??ps.setTotalCount(0);

??????????????? ?????? ??}

? ????????????????? ??}else if(objT instanceof BigInteger){

??????????????? ?????? ??BigInteger obj = (BigInteger) objT;

??????????????? ?????? ??if (obj!=null) {

??????????????? ?????????? ??ps.setTotalCount(obj.intValue());

??????????????? ?????? ??}else{

??????????????? ?????????? ??ps.setTotalCount(0);

??????????????? ?????? ??}

??????????????? ??? ??}

????????????????? }else{

??????????????? ??? ??setQueryTotalCount(sqlBean.toString(), sqlBean.getParams(), ps,cache,"sql");

????????????????? }

????????????????? ps.setItems(getModels(sqlBean.getBeanNames(),query.list(),sqlBean.getModelClass(),curPage));

????????????????? return ps;

???????????????? }

????????? ? }

??????? );

??? }??

???

??? @SuppressWarnings("unchecked")

??? private List getModels(final List<String> beanNames,final List<Object> result,final Class beanClass,final Integer curPage) {

?????? List list=new ArrayList();

?????? for(Object obj : result){

?????????? try {

????????????? Object bean = beanClass.newInstance();

????????????? Class type = obj.getClass();

????????????? if(type.isArray()){

????????????????? Object objs[] = (Object[])obj;

????????????????? int num = curPage != null && curPage > 1 ? objs.length -1: objs.length;

????????????????? for(int i = 0; i < num ;i++){

???????????????????? Field f = getClassField(beanClass,beanNames.get(i));

???????????????????? f.setAccessible(true);

???????????????????? if(objs[i] instanceof Byte) {

???????????????????????? Byte tempB = (Byte) objs[i];

???????????????????????? Short tempS = tempB.shortValue();

???????????????????????? f.set(bean, tempS !=null ? tempS:null);

???????????????????? }else if(objs[i] instanceof BigInteger){

???????????????????????? BigInteger tempB = (BigInteger) objs[i];

???????????????????????? Integer tempS = tempB.intValue();

???????????????????????? f.set(bean, tempS !=null ? tempS:null);

???????????????????? }else if(objs[i] instanceof Character){

???????????????????????? Character tempB = (Character) objs[i];

???????????????????????? String tempS = tempB.toString();

???????????????????????? f.set(bean, tempS !=null ? tempS:null);

???????????????????? }else if(objs[i] instanceof BigDecimal){

???????????????????????? BigDecimal tempB2= (BigDecimal) objs[i];

???????????????????????? Long tempS = tempB.longValue();

???????????????????????? f.set(bean, tempS !=null ? tempS:null);

???????????????????? }else{

???????????????????????? f.set(bean, objs[i] !=null ? objs[i]:null);

???????????????????? }

???????????????????? f.setAccessible(false);

????????????????? }

????????????? }else{

????????????????? Field f = getClassField(beanClass,beanNames.get(0));

????????????????? f.setAccessible(true);

????????????????? if(obj instanceof Byte) {

???????????????????? Byte tempB = (Byte) obj;

???????????????????? Short tempS = tempB.shortValue();

???????????????????? f.set(bean, tempS !=null ? tempS:null);

????????????????? }else if(obj instanceof BigInteger){

???????????????????? BigInteger tempB = (BigInteger) obj;

???????????????????? Integer tempS = tempB.intValue();

???????????????????? f.set(bean, tempS !=null ? tempS:null);

????????????????? }else if(obj instanceof Character){

???????????????????? Character tempB = (Character) obj;

???????????????????? String tempS = tempB.toString();

???????????????????? f.set(bean, tempS !=null ? tempS:null);

????????????????? }else if(obj instanceof BigDecimal){

???????????????????? BigDecimal tempB = (BigDecimal) obj;

???????????????????? Long tempS = tempB.longValue();

???????????????????? f.set(bean, tempS !=null ? tempS:null);

????????????????? }else{

???????????????????? f.set(bean, obj !=null ? obj:null);

????????????????? }

????????????????? f.setAccessible(false);

????????????? }

????????????? list.add(bean);

?????????? } catch (Exception e) {

????????????? e.printStackTrace();

?????????? }

?????? }

?????? return list;

??? }

???

??? private Field getClassField(Class aClazz, String aFieldName) {?

??????? Field[] declaredFields = aClazz.getDeclaredFields();?

??????? for (Field field : declaredFields) {?

??????????? if (field.getName().equals(aFieldName)) {?

??????????? return field;

??????????? }?

??????? }?

??????? Class superclass = aClazz.getSuperclass();?

??????? if (superclass != null) {//簡單的遞歸一下?

??????????? return getClassField(superclass, aFieldName);?

??????? }?

??????? return null;?

??? }

???

??? private Query getSessionQuery(String s_hql,Session sess,String queryType){

?????? Query query = null;

?????? if("sql".equals(queryType)){

??????? ??? query = sess.createSQLQuery(s_hql);

??????? }else if("hql".equals(queryType)) {

??????? ??? query = sess.createQuery(s_hql);

??????? }else{

??????? ??? query = sess.createQuery(s_hql);

??????? }

?????? return query;

??? }

???

??? @SuppressWarnings("unchecked")

??? private void setQueryTotalCount(final String hql, final Object[] values, PageSupport ps,boolean cache,String queryType){

??? ??? int ids = hql.toUpperCase().indexOf(" FROM ");

??? ??? String _hql = hql;

??? ??? if (ids > 0) {

??? ??????? _hql = hql.substring(ids);

??? ??? }

??? ??? Object obj = queryForObjectCount("select count(*) " + _hql, values,cache,queryType);

??? ??? if (obj!=null) {

??? ??????? ps.setTotalCount(Integer.parseInt(String.valueOf(obj)));

??? ??? }else{

??? ??? ??? ps.setTotalCount(0);

??? ??? }

??? }

???

??? private Object queryForObjectCount(String s_hql, final Object[] values,boolean cache,String queryType){

??????? int idx = s_hql.toUpperCase().indexOf(" ORDER ");

??????? if (idx > 0) {

??????? ??? s_hql = s_hql.substring(0, idx);

??????? }

??????? Query query = getSessionQuery(s_hql,super.getSession(),queryType);

??????? //? 設置Ehcache的二級緩存

??????? query.setCacheable(cache);

??????? setQueryParams(values, query);

??????? return query.uniqueResult();

??? }

?

??? private void setQueryParams(final Object[] values, Query query){

???? ???if (values != null) {

??????????? for (int i = 0; i < values.length; i++) {

??????????????? if (values[i] instanceof Long) {

??????????????????? Long l = (Long)values[i];

??????????????????? query.setLong(i, l.longValue());

??????????????? } else if (values[i] instanceof Integer) {

??????????????????? Integer l = (Integer)values[i];

??????????????????? query.setInteger(i, l.intValue());

??????????????? } else if (values[i] instanceof String) {

??????????????????? String str = (String)values[i];

???????? ???????????query.setString(i, str);

??????????????? } else {

??????????????????? query.setParameter(i, values[i]);

??????????????? }

??????????? }

??????? }

??? }

???

}

?

?

?

package com.css.common.hibernate3;

?

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

?

import org.hibernate.cfg.Configuration;

import org.hibernate.mapping.Column;

import org.hibernate.mapping.PersistentClass;

import org.hibernate.mapping.Table;

?

/**

?* Hibernate的輔助類,獲取表名和列名?????? <br/>

?*

?* @author何青

?*/

publicclassHibernateConfigUtil {

?

??? privatestatic ConfigurationhibernateConf =new Configuration();

?

??? @SuppressWarnings("unchecked")

??? privatestatic PersistentClass getPersistentClass(Class clazz) {

?

?????? synchronized (HibernateConfigUtil.class) {

?????????? PersistentClass pc = hibernateConf.getClassMapping(clazz.getName());

?

?????????? if (pc ==null) {

?

????????????? hibernateConf =hibernateConf.addClass(clazz);

?

????????????? pc = hibernateConf.getClassMapping(clazz.getName());

?

?????????? }

?

?????????? return pc;

?

?????? }

?

??? }

?

??? @SuppressWarnings("unchecked")

??? privatestatic Table getTable(Class clazz) {

?????? returngetPersistentClass(clazz).getTable();

??? }

?

??? /**

??? ?* 得到表名

??? ?*

??? ?* @param clazz

??? ?*??????????? 映射到數據庫的po

??? ?* @return

??? ?*/

??? @SuppressWarnings("unchecked")

??? publicstatic String getTableName(Class clazz) {

?

?????? returngetTable(clazz).getName();

?

??? }

?

??? /**

??? ?* 得到表的主鍵名

??? ?*

??? ?* @param clazz

??? ?*??????????? 映射到數據庫的po

??? ?* @return

??? ?*/

??? @SuppressWarnings("unchecked")

??? publicstatic String getPkColumnName(Class clazz) {

?

?????? returngetTable(clazz).getPrimaryKey().getColumn(0).getName();

?

??? }

?

??? /**

??? ?* 得到指定表的列名

??? ?*

??? ?* @param clazz

??? ?*??????????? 映射到數據庫的po

??? ?* @param index

??? ?*??????????? 字段列的索引數

??? ?* @return

??? ?*/

??? @SuppressWarnings("unchecked")

??? publicstatic String getColumnName(Class clazz,int index) {

?????? Table table = getTable(clazz);

?????? int columnSize = table.getColumnSpan();

?????? if (index <= columnSize) {

?????????? return table.getColumn(index).getName();

?????? } else {

?????????? return"";

?????? }

??? }

?

??? /**

??? ?* 得到表的所有列名

??? ?* @param clazz映射到數據庫的po

??? ?* @return

??? ?*/

??? @SuppressWarnings("unchecked")

??? publicstatic List<String> getColumnNames(Class clazz) {

?????? Iterator<Column> itr = getTable(clazz).getColumnIterator();

?????? List<String> columns = new ArrayList<String>();

?????? while (itr.hasNext()) {

?????????? Column tmp = itr.next();

?????????? columns.add(tmp.getName());

?????? }

?????? return columns;

?

??? }

}

?

?

?

?

package com.css.common.hibernate3;

?

/**

?* 1\分頁處理類

?* 2\JSON處理類????????????????????? <br/>

?*

?* @author 何青

?*/

import java.util.ArrayList;

import java.util.List;

?

public class PageSupport<T> {

?????? /**

?????? ?* 返回類型

?????? ?*/

?????? private String type;

?????? /**

?????? ?* 返回信息

?????? ?*/

?????? private String message;

?????? /**

?????? ?* 當前頁記錄內容集合

?????? ?*/

?????? private T items;

?????? /**

?????? ?* 總記錄數

?????? ?*/

?????? private Integer totalCount = 0;

?????? /**

?????? ?* 總頁數

?????? ?*/

?????? private Integer pageCount = 0 ;

?????? /**

?????? ?* 每頁顯示記錄數

?????? ?*/

?????? private Integer pageSize = 10;

?????? /**

?????? ?* 當前頁

?????? ?*/

?????? private Integer curPage = 1;

?????? /**

????? ?* 當前頁之前和之后顯示的頁數個數 <br/>如:假設當前頁是 6 共有11<br/>那么顯示分頁條會顯示 1 2 3 4 5 [6] 7 8 9 10 11

?????? ?*/

?????? private Integer num = 5;

?

?????? /**

?????? ?* 清空分頁字段信息<br/>

?????? ?* 避免totalCountpageCountpageSizecurPagenum字段付初始值

?????? ?*/

?????? public void setNull(){

????????????? totalCount = null;

????????????? pageCount = null;

????????????? pageSize = null;

????????????? curPage = null;

????????????? num = null;

?????? }

?

?????? /**

?????? ?* 計算總頁數

?????? ?*

?????? ?* @param totalCount

?????? ?*/

?????? public void setTotalCount(Integer totalCount) {

????????????? if (totalCount > 0) {

???????????????????? this.totalCount = totalCount;

?????? ????????????? this.pageCount = (totalCount + pageSize - 1) / pageSize;

????????????? }

?????? }

??????

?????? /**

?????? ?* 獲取總記錄數

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getTotalCount() {

????????????? return totalCount;

?????? }

?

?????? /**

?????? ?* 獲取每頁顯示記錄數

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getPageSize() {

????????????? return pageSize;

?????? }

?

?????? /**

?????? ?* 設置每頁顯示記錄數

?????? ?*

?????? ?* @param pageSize

?????? ?*/

?????? public void setPageSize(Integer pageSize) {

????????????? this.pageSize = pageSize;

?????? }

?

?????? /**

?????? ?* 得到當前頁數

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getCurPage() {

????????????? return curPage;

?????? }

?

?????? /**

?????? ?* 設置當前頁數

?????? ?*

?????? ?* @param curPage

?????? ?*/

?????? public void setCurPage(Integer curPage) {

????????????? this.curPage = curPage;

?????? }

?

?????? /**

?????? ?* 獲取當前頁之前或之后顯示的頁數個數

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getNum() {

????????????? return num;

?????? }

?

?????? /**

?????? ?* 設置當前頁之前或之后顯示的頁數個數

?????? ?*

?????? ?* @param num

?????? ?*/

?????? public void setNum(Integer num) {

????????????? this.num = num;

?????? }

?

?????? /**

?????? ?* 獲取當前頁記錄內容集合

?????? ?*

?????? ?* @return

?????? ?*/

?????? public T getItems() {

????????????? return items;

?????? }

?

?????? /**

?????? ?* 設置當前頁記錄內容集合

?????? ?*

?????? ?* @param items

?????? ?*/

?????? public void setItems(T items) {

????????????? this.items = items;

?????? }

?

?????? /**

?????? ?* 得到總頁數

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getPageCount() {

????????????? return pageCount;

?????? }

?

?????? /**

?????? ?* 設置頁總數

?????? ?*

?????? ?* @param pageCount

?????? ?*/

?????? public void setPageCount(Integer pageCount) {

????????????? this.pageCount = pageCount;

?????? }

?

?????? /**

?????? ?* 判斷是否有前一頁

?????? ?*

?????? ?* @return

?????? ?*/

?????? public boolean getIsPrev() {

????????????? if (curPage > 1) {

???????????????????? return true;

????????????? }

????????????? return false;

?????? }

?

?????? /**

?????? ?* 判斷是否有后一頁

?????? ?*

?????? ?* @return

?????? ?*/

?????? public boolean getIsNext() {

????????????? if (curPage < pageCount) {

???????????????????? return true;

????????????? }

????????????? return false;

?????? }

?

?????? /**

?????? ?* 當前頁的前num條頁假設當前頁是 6共有11頁如:1 2 3 4 5

?????? ?*

?????? ?* @return

?????? ?*/

?????? public List<Integer> getPrevPages() {

????????????? List<Integer> list = new ArrayList<Integer>();

????????????? int _frontStart = 1;

?

????????????? if (curPage > num) {

???????????????????? _frontStart = curPage - num;

????????????? }

?

????????????? for (int i = _frontStart; i < curPage; i++) {

???????????????????? list.add(i);

????????????? }

?

????????????? return list;

?????? }

?

?????? /**

?????? ?* 當前頁的后num條頁假設當前頁是 6共有11頁如:7 8 9 10 11

?????? ?*

?????? ?* @return

?????? ?*/

?????? public List<Integer> getNextPages() {

????????????? List<Integer> list = new ArrayList<Integer>();

????????????? int _endCount = num;

?

????????????? if (num < pageCount && (curPage + num) < pageCount) {

???????????????????? _endCount = curPage + _endCount;

????????????? } else {

???????????????????? _endCount = pageCount;

????????????? }

?

????????????? for (int i = curPage + 1; i <= _endCount; i++) {

???????????????????? list.add(i);

????????????? }

?

????????????? return list;

?????? }

?

?????? /**

?????? ?* 得到起始頁數據

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getStartIndex() {

?

????????????? if (curPage > 0) {

???????????????????? return (curPage - 1) * pageSize;

????????????? }

????????????? return 0;

?????? }

?

?????? /**

?????? ?* 查詢是否有數據

?????? ?*

?????? ?* @return

?????? ?*/

?????? public boolean getIsPage() {

????????????? if (this.totalCount > 0) {

???????????????????? return true;

????????????? } else {

???????????????????? return false;

????????????? }

?????? }

?????? /**

?????? ?* 獲取前一頁

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getPrev() {

????????????? return curPage - 1;

?????? }

??????

?????? /**

?????? ?* 獲取后一頁

?????? ?* @return

?????? ?*/

?????? public int getNext(){

????????????? return curPage+1;

?????? }

??????

?????? /**

?????? ?* 獲取最后一頁

?????? ?*

?????? ?* @return

?????? ?*/

?????? public Integer getLast() {

????????????? return pageCount;

?????? }

??????

?????? /**

?????? ?* 得到返回類型

?????? ?* @return

?????? ?*/

?????? public String getType() {

????????????? return type;

?????? }

?

?????? /**

?????? ?* 設置返回類型

?????? ?* @param type

?????? ?*/

?????? public void setType(String type) {

????????????? this.type = type;

?????? }

?

?????? /**

?????? ?* 得到返回信息

?????? ?* @return

?????? ?*/

?????? public String getMessage() {

????????????? return message;

?????? }

?

?????? /**

?????? ?* 設置返回信息

?????? ?* @param message

?????? ?*/

?????? public void setMessage(String message) {

????????????? this.message = message;

?????? }

}

?

?

?

?

?

?

?

package com.css.common.hibernate3;

?

import java.util.ArrayList;

import java.util.List;

?

/**

?* SQL和實體Bean的映射處理 ??????????????????? <br/>

?*

?* @author 何青

?*/

public class SqlBean<T> {

??????

?????? private Class<T> clazz;

??????

?????? public SqlBean(){

?????????????

?????? }

??????

??? public SqlBean(Class<T> clazz) {

??????? this.clazz = clazz;

??? }

??????

?????? private List<String> beanNames = new ArrayList<String>();

??????

?????? private List<String> columnNames = new ArrayList<String>();

??????

?????? private String where;

??????

?????? private Object[] params = null;

??????

?????? private String countSql;

??????

?????? private Object[] countParams = null;

??????

?????? public void setColumnBeanNames(String columnName,String beanName)

?????? {

????????????? this.columnNames.add(columnName+" as "+beanName);

????????????? this.beanNames.add(beanName);

?????? }

??????

?????? public void removeColumnBeanNames(String columnName,String beanName)

?????? {

????????????? this.columnNames.remove(columnName+" as "+beanName);

????????????? this.beanNames.remove(beanName);

?????? }

??????

?????? public String getColumnNames()

?????? {

????????????? return this.columnNames.toString().substring(1,this.columnNames.toString().length()-1);

?????? }

??????

?????? public List<String> getBeanNames()

?????? {

????????????? return this.beanNames;

?????? }

?

?????? public Class<T> getModelClass() {

????????????? return this.clazz;

?????? }

??????

?????? public String getWhere() {

????????????? return where;

?????? }

?

?????? public void setWhere(String where) {

????????????? this.where = where;

?????? }

?

?????? public Object[] getParams() {

????????????? return params;

?????? }

?

?????? public void setParams(Object[] params) {

????????????? this.params = params;

?????? }

?

?????? public String getCountSql() {

????????????? return countSql;

?????? }

?

?????? public void setCountSql(String countSql) {

????????????? this.countSql = countSql;

?????? }

?

?????? public Object[] getCountParams() {

????????????? return countParams;

?????? }

?

?????? public void setCountParams(Object[] countParams) {

????????????? this.countParams = countParams;

?????? }

?

?????? @Override

?????? public String toString()

?????? {

????????????? return "select "+this.getColumnNames()+" "+this.getWhere();

?????????????

?????? }

??????

}

?

?

?

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的系统中常用操作基类(SSH项目中)非常非常经典的部分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久久99精品 | 国产精品免费观看国产网曝瓜 | 久久精品福利视频 | 97超碰在线资源 | 国产午夜精品一区二区三区嫩草 | 婷婷色在线播放 | 久久丁香网 | 天天操夜夜拍 | 中文字幕三区 | 99r在线精品 | 欧美日韩国产免费视频 | 香蕉网址| 久久久精华网 | 成人av在线影视 | 伊人伊成久久人综合网小说 | 久久丁香网 | 一级黄色大片在线观看 | 日韩黄色免费在线观看 | 香蕉网址| 亚洲精品视频中文字幕 | 在线播放第一页 | 麻豆视频大全 | 日韩av中文 | 黄色大片日本 | 超碰电影在线观看 | 久久久久一区二区三区 | 不卡视频一区二区三区 | 欧美日韩综合在线 | 国产一区二区三区午夜 | 国产91亚洲| 婷婷在线视频 | 97国产电影 | 日韩欧美在线一区二区 | 午夜 久久 tv | 日日夜夜网 | 国产色女| 精品女同一区二区三区在线观看 | 亚洲mv大片欧洲mv大片免费 | 亚洲网站在线看 | 午夜成人影视 | 亚洲精品国产日韩 | 在线观看精品 | a级国产毛片 | 成人一级黄色片 | 色中文字幕在线观看 | av大全在线观看 | 在线免费观看欧美日韩 | 亚洲国产精品视频在线观看 | 午夜天使 | 激情欧美一区二区三区免费看 | 久久人人添人人爽添人人88v | 免费成人看片 | 欧美日韩在线网站 | 久久久国产精品亚洲一区 | 国产一区二区综合 | 国产不卡视频在线 | 久久99久久99精品免视看婷婷 | 黄视频色网站 | 91成人精品国产刺激国语对白 | 国产一区二区久久 | 能在线观看的日韩av | 亚洲日本成人网 | 日韩欧美精品在线 | 96国产在线| 97av色 | 1024手机基地在线观看 | 国内小视频 | 欧美成a人片在线观看久 | 97理论电影| 日本特黄特色aaa大片免费 | 久久免费看a级毛毛片 | 久久色在线观看 | 国产一级一级国产 | 欧美日韩在线播放一区 | 天天射网站 | 久久国内精品视频 | 久久精品一区二区三 | 黄色三级视频片 | www.福利视频 | 国际精品久久 | 天天干,夜夜爽 | 四虎影视成人精品 | 日韩av男人的天堂 | 久久精品久久精品 | 黄色免费在线看 | 国产精品视频免费看 | 国产精品国产三级国产不产一地 | 在线观看免费视频 | 99久久99精品 | 99婷婷狠狠成为人免费视频 | 狠狠综合久久av | 国语精品久久 | 中文字幕九九 | 国产视频一区二区三区在线 | 国产精品久久久久一区二区 | 一区二区成人国产精品 | 日韩欧美精品一区二区 | 国产最新视频在线观看 | 天堂资源在线观看视频 | 亚洲午夜大片 | 久久精品二区 | 成人av在线一区二区 | 亚洲免费永久精品国产 | 九七在线视频 | 天堂视频一区 | 久久激情综合网 | 国产精品中文 | 中文字幕国产一区 | 日韩福利在线观看 | 日韩二区三区在线 | 五月天综合色激情 | 草 免费视频| 免费视频你懂的 | 91中文字幕在线观看 | 免费高清国产 | 亚洲欧美日韩国产精品一区午夜 | 人人爽人人爽av | 麻豆传媒视频在线 | www.日日日.com | 青青河边草观看完整版高清 | 在线观看视频一区二区三区 | 中文字幕在线观看第二页 | 中文字幕专区高清在线观看 | 欧美日韩亚洲第一 | 国产a国产a国产a | 中文字幕观看在线 | 视频一区二区国产 | 91在线播放国产 | 热久久免费视频 | 九九日九九操 | 中文字幕在线观看完整版电影 | www.天天成人国产电影 | 国产成人一区二区三区电影 | 久操中文字幕在线观看 | 成年人免费观看国产 | 美女黄网久久 | 狠狠干婷婷 | 国产精品免费久久久久影院仙踪林 | 久久综合久久综合这里只有精品 | 欧美日韩午夜 | 91亚洲成人 | 久久久久亚洲国产精品 | 国产对白av| 亚洲在线视频播放 | 亚洲综合色婷婷 | 欧美极品xxxx | 日韩欧美在线观看一区二区三区 | 福利网在线 | av性网站 | 91在线免费看片 | 国产精品视频区 | 黄色免费网战 | 欧美久久影院 | 黄色中文字幕在线 | 亚洲综合视频网 | 国产91精品高清一区二区三区 | 久久婷亚洲五月一区天天躁 | 国内精品久久久久影院日本资源 | 亚洲国产精品第一区二区 | 亚洲第一伊人 | 开心激情五月网 | 国产麻豆剧果冻传媒视频播放量 | 久久久久亚洲精品成人网小说 | 973理论片235影院9 | 99久在线精品99re8热视频 | zzijzzij亚洲日本少妇熟睡 | 欧洲一区二区在线观看 | 日韩高清av在线 | 久久中文字幕导航 | av线上免费观看 | 在线观看播放av | 日韩高清一区二区 | 色婷婷综合久久久久 | 久久av免费| 欧美不卡视频在线 | 麻豆综合网 | 精品视频中文字幕 | 欧美狠狠色| 中文字幕在线观看亚洲 | 亚洲一区免费在线 | 91超碰免费在线 | 欧美一级片在线免费观看 | 99视频免费在线观看 | 狠狠躁夜夜av | 黄a在线观看 | 欧美性成人 | 久艹在线观看视频 | 欧美性生活小视频 | 在线看国产视频 | 成人免费观看完整版电影 | 热久久免费视频精品 | 99热只有精品在线观看 | 人人爱人人爽 | 偷拍区另类综合在线 | 九九精品在线观看 | 精品在线不卡 | 日韩一区精品 | 99精彩视频在线观看免费 | 成人激情开心网 | 欧美孕妇视频 | 国产天天综合 | 天天色天天射天天操 | 18av在线视频 | 亚洲理论影院 | 久久人人爽人人片av | 精品国产诱惑 | 最新日韩在线 | 成人小视频在线观看免费 | 操操综合 | 精品福利视频在线观看 | 免费看十八岁美女 | av色一区 | 在线亚洲小视频 | 正在播放国产一区二区 | 一区二区三区在线观看免费视频 | 久久久久久国产精品亚洲78 | 在线观看成人毛片 | 中文伊人| av大全在线 | 在线观看视频黄 | 超碰在线网 | 久久国精品 | www婷婷 | 亚洲免费国产视频 | 1024久久| 免费观看91视频大全 | 成人国产电影在线观看 | 日韩中文字幕视频在线观看 | 国产精品情侣视频 | 亚洲成人av片 | 日产乱码一二三区别在线 | 中文字幕二区 | 色婷婷色 | 嫩模bbw搡bbbb搡bbbb | 免费看毛片在线 | 韩国三级在线一区 | 日韩黄色免费看 | 91最新在线 | 日本三级不卡视频 | 免费在线观看日韩视频 | 亚洲高清在线观看视频 | 美女网站在线观看 | 中日韩在线视频 | 久久精品com| 在线 国产 亚洲 欧美 | 亚州日韩中文字幕 | 正在播放亚洲精品 | 欧美一级艳片视频免费观看 | 久久在线免费 | 色婷婷国产在线 | 色天堂在线视频 | 久久久九色精品国产一区二区三区 | 国产又粗又猛又爽又黄的视频先 | 91看片在线观看 | 在线视频福利 | 911在线 | 精品久久久久久亚洲 | 欧美性直播 | 国产视频中文字幕在线观看 | 国产精品免费在线观看视频 | 丁香婷婷激情啪啪 | 中文超碰字幕 | 性色av免费在线观看 | 天天操天天吃 | 久久成人毛片 | 黄色av电影| 亚洲国产日韩一区 | 久久亚洲免费视频 | 人九九精品 | 欧美精品亚州精品 | 五月天com| 成人a级大片 | 综合激情久久 | 午夜丁香网 | 国产一区二区影院 | av亚洲产国偷v产偷v自拍小说 | 五月婷婷激情综合网 | 最新色视频 | 丁香狠狠 | 午夜精品av | 97理论片| 久精品在线 | 日韩精品第一区 | 玖玖玖国产精品 | 日韩精品一区电影 | 97色综合| 成年人视频免费在线播放 | 99久久激情视频 | 久久午夜电影院 | 91视频高清免费 | 五月天电影免费在线观看一区 | 成人国产精品久久久久久亚洲 | 视频福利在线观看 | 国产亚洲精品久久久久久久久久 | 国产在线观看免费av | 亚洲伊人网在线观看 | 黄色国产高清 | 日韩午夜视频在线观看 | 欧美怡红院视频 | 亚州人成在线播放 | 日本黄色大片免费看 | 免费av看片 | 在线观看韩国av | 99精彩视频在线观看免费 | 在线观看免费观看在线91 | 人人草天天草 | 精品视频成人 | 久久综合之合合综合久久 | 黄色录像av | 久久免费的视频 | 九精品 | 欧美日韩国产成人 | 91精品国产亚洲 | 国产免费三级在线观看 | 国产视频 亚洲视频 | 国产精品手机看片 | 日韩网页| 亚洲免费在线观看视频 | 久久久久国产a免费观看rela | 久久久91精品国产一区二区精品 | 日韩久久一区 | 81国产精品久久久久久久久久 | 日韩美av在线| 国产超碰在线 | 国产成人久久av免费高清密臂 | 在线免费观看黄网站 | 久草电影免费在线观看 | 亚洲码国产日韩欧美高潮在线播放 | 五月婷婷香蕉 | 日本护士三级少妇三级999 | 成人午夜免费剧场 | 日本性视频| 美女久久一区 | 欧美一级在线观看视频 | 亚洲砖区区免费 | 狠狠色丁香久久婷婷综合丁香 | 国产中文在线播放 | 国产在线精 | 久久久精品视频成人 | 日韩在线视频不卡 | 中文字幕在线播放日韩 | 欧美性生活免费 | 日韩影片在线观看 | 中文字幕在线观看不卡 | 日日夜夜草| 亚洲欧美日韩国产一区二区 | 国产高清精品在线观看 | 日韩av片在线 | 五月在线 | 国产精品成人a免费观看 | 欧美日韩久久不卡 | 免费中文字幕在线观看 | 久久久久国产一区二区三区四区 | 在线а√天堂中文官网 | 国产精品wwwwww | 天天射天天色天天干 | 久久人人爽人人爽人人片av免费 | 狠狠久久伊人 | 久久久久久久久久免费 | 成人免费视频在线观看 | 亚洲h视频在线 | 日本爽妇网 | 四虎影视成人永久免费观看视频 | 9在线观看免费高清完整版在线观看明 | 草久久久久| 午夜 免费 | 久久国产亚洲 | 最新av在线网址 | 91最新在线观看 | 国产 视频 久久 | av网站播放 | 午夜美女wwww | 日韩精品不卡在线观看 | 天天人人综合 | 在线成人免费 | 国产精品女人久久久 | 欧美美女激情18p | 成人影视片 | 国产成人av电影在线观看 | www久草 | 天天干天天干天天射 | 六月色 | 国产亚洲欧美在线视频 | 韩日在线一区 | 久草免费福利在线观看 | 91av视频在线免费观看 | 成人 亚洲 欧美 | 免费精品久久久 | 日韩激情影院 | 日韩欧美在线第一页 | 99综合久久 | 国产精品免费在线 | 人人看人人做人人澡 | 亚洲性xxxx| 日韩在线观看 | 日韩特黄一级欧美毛片特黄 | 亚洲va欧洲va国产va不卡 | 精品一区二区综合 | 99在线免费视频 | 亚a在线 | 亚洲在线资源 | 国产亚州av | av福利第一导航 | 精品久久久久久综合 | 国产不卡在线观看视频 | 麻豆视频在线免费观看 | 天天干夜夜爱 | 韩国av免费在线观看 | 亚洲欧洲美洲av | 热久久免费视频精品 | 99精品视频99 | 国产1区2 | 日韩中文在线观看 | www.香蕉| 91视频麻豆视频 | 精品国产视频一区 | 欧美精彩视频在线观看 | 亚洲一二区视频 | 欧美精品一区二区在线观看 | www.97视频 | 丝袜美女在线 | 免费视频在线观看网站 | 六月激情 | 国内丰满少妇猛烈精品播放 | а天堂中文最新一区二区三区 | 六月丁香在线视频 | 亚洲免费视频观看 | 国产无限资源在线观看 | 亚洲综合精品视频 | 欧美黑人xxxx猛性大交 | av亚洲产国偷v产偷v自拍小说 | 狠狠躁日日躁狂躁夜夜躁 | 在线探花 | 96亚洲精品久久久蜜桃 | 国产一区二区高清不卡 | 综合色站导航 | 一区二区男女 | 激情综合色综合久久综合 | 国产精选在线观看 | 久久99偷拍视频 | 色搞搞 | 久久精品久久99精品久久 | 久久婷婷一区 | 久久99国产视频 | 99久久精品视频免费 | 婷婷开心久久网 | 高潮久久久 | 精品久久久久一区二区国产 | av亚洲产国偷v产偷v自拍小说 | 国产69精品久久久久久久久久 | 国产无吗一区二区三区在线欢 | 成人国产精品久久久 | 超碰精品在线观看 | 国内偷拍精品视频 | 免费 在线 中文 日本 | 国产精品久久久久av福利动漫 | 丁香六月婷婷开心婷婷网 | 天天操天天怕 | 日韩一级电影在线观看 | 日韩在线观看高清 | 国产夫妻性生活自拍 | 欧美一进一出抽搐大尺度视频 | 人人干在线观看 | zzijzzij日本成熟少妇 | 国产99区 | 特级片免费看 | 免费国产亚洲视频 | 午夜视频在线观看一区二区 | 色综合天天射 | 欧美在线观看视频一区二区 | 综合在线观看 | 久久深夜 | 在线之家免费在线观看电影 | 久久成人国产精品一区二区 | japanesexxxxfreehd乱熟| 国产精品99久久久久久久久久久久 | 欧美成人黄色 | 中文字幕国产 | 国产理伦在线 | 色婷婷亚洲婷婷 | av中文字幕网址 | 激情久久五月天 | 992tv在线观看| 三级在线视频观看 | 国产在线色视频 | 91在线精品视频 | 亚洲天天综合网 | 日韩av片无码一区二区不卡电影 | 99精品视频99 | 国产精品黄色 | 国产福利网站 | 欧美日韩国产精品一区 | 91免费看片黄 | 国产三级在线播放 | 成人在线播放av | 天天插视频 | 国产这里只有精品 | 最新国产精品视频 | 欧美大片大全 | 国产精品第7页 | 日本在线h | 在线观看中文字幕2021 | 中文字幕在线观看不卡 | 一区二区三区免费 | 天天操天天干天天干 | 久久久久久美女 | 免费在线激情电影 | 久久久久国产精品视频 | 久久国产高清视频 | 国产精品日韩在线播放 | 青青视频一区 | 久久夜色精品国产欧美一区麻豆 | 色搞搞 | 亚洲精品视频在线免费 | 免费看三片 | 韩国一区视频 | 国产精品网在线观看 | 国产在线不卡视频 | 九色琪琪久久综合网天天 | 国产v在线播放 | 天天干天天想 | 99久国产| 最近中文字幕国语免费av | 99高清视频有精品视频 | 91在线观看欧美日韩 | 国产亚洲成人精品 | 国产午夜亚洲精品 | 人人操日日干 | 成人欧美日韩国产 | 操久在线 | 精品亚洲一区二区 | 久久精品九色 | 免费亚洲视频在线观看 | 日韩理论电影在线 | 久久99国产精品二区护士 | 成人久久18免费网站麻豆 | 久久精品福利视频 | 亚洲最大激情中文字幕 | 久草电影在线 | 国产精品网址在线观看 | 久久人人干 | 免费观看完整版无人区 | 久久久久久久久久久精 | 国产黄色一级大片 | www国产精品com | 久99久中文字幕在线 | 婷婷综合网 | 久久久久免费精品视频 | 4438全国亚洲精品在线观看视频 | 欧美日韩免费一区 | 999成人| 日韩中文字幕国产精品 | 欧美激情视频一区二区三区免费 | 日产乱码一二三区别免费 | 91桃色免费视频 | 中文字幕在线视频一区二区 | 国产夫妻av在线 | 欧美国产日韩一区 | 免费看国产a| 五月开心激情 | 人人爽人人 | 亚州精品国产 | 中文字幕在线看视频国产 | 一级黄色片网站 | 91成人精品国产刺激国语对白 | 国产亚洲精品日韩在线tv黄 | 国产一区二区三精品久久久无广告 | 亚洲精品在线观看不卡 | 成人久久久精品国产乱码一区二区 | 免费看91的网站 | 精品久久视频 | 激情综合网在线观看 | 日韩在线首页 | 欧美大片mv免费 | 中文字幕免费中文 | 韩国av不卡| 日韩成人欧美 | 91精品国产麻豆国产自产影视 | 久久久久久久影视 | 91精品在线播放 | 欧美日韩在线视频一区二区 | 国产一区视频在线 | 国产综合视频在线观看 | 久久神马影院 | 日韩在线免费电影 | 正在播放 国产精品 | 999超碰| 日韩| 日韩免费专区 | 亚洲午夜久久久久 | 国产精品9999 | 91精品秘密在线观看 | 五月婷婷色播 | 成人av在线直播 | 色狠狠综合天天综合综合 | 999在线精品 | 成人影音在线 | 亚洲最新av | 国产不卡一| 久久伊人色综合 | 婷婷国产精品 | 免费视频二区 | 视频国产在线观看18 | 亚洲电影一级黄 | 国产一级做a爱片久久毛片a | 中文字幕 第二区 | 五月婷婷激情综合 | 日日夜夜精品 | 午夜精品区 | 国产99久久久精品 | 欧美日韩在线免费观看视频 | 久久久国产影院 | 毛片永久免费 | 国产一级免费视频 | 国产网站色 | 日韩一区二区三免费高清在线观看 | 免费日韩三级 | 久碰视频在线观看 | 亚洲天堂网在线观看视频 | 国产精品综合av一区二区国产馆 | 中文字幕电影在线 | 玖玖精品在线 | 国产精品一级在线 | 国产一区在线免费观看视频 | 亚洲男人天堂2018 | 在线播放国产精品 | 国产精品嫩草影院99网站 | 国产一级免费av | 亚洲色图 校园春色 | 国产一区二区三区免费观看视频 | 97人人爽 | 日本不卡一区二区三区在线观看 | 玖玖视频免费在线 | 成年人免费在线观看网站 | 亚洲欧洲精品一区二区精品久久久 | 一区二区三区在线观看中文字幕 | 狠狠色狠狠色 | 激情av在线资源 | 一区二区三区视频在线 | 亚洲人在线视频 | 99精品欧美一区二区蜜桃免费 | 99久久精品国产欧美主题曲 | 国产麻豆精品一区 | 美女网站视频色 | 亚洲涩涩色 | 国产精品video爽爽爽爽 | 日韩一区二区三区在线看 | 久久久久久草 | 网站在线观看日韩 | 久久综合久久久 | 免费视频久久 | 国产美女免费观看 | 午夜视频免费 | 天堂在线视频中文网 | 天堂网中文在线 | 天天操天天干天天插 | 国产一区在线免费观看视频 | 99精品国产99久久久久久97 | 97视频总站 | 97色免费视频 | 色婷婷综合久久久 | 国产精品一区免费在线观看 | 久久精品视频在线播放 | 日韩a在线播放 | 在线国产能看的 | 91看片黄色 | 91av福利视频| 久久久久久高清 | 欧美色图视频一区 | 久久久久久久久影视 | 久久人人爽人人爽 | 日韩在线不卡av | 996久久国产精品线观看 | 欧美在线资源 | 在线av资源 | 人人澡超碰碰97碰碰碰软件 | 精品欧美一区二区在线观看 | 国产免费一区二区三区最新6 | 久久久高清免费视频 | 91亚洲欧美 | 国产精品一区二区在线观看免费 | 成人影视免费 | 在线视频欧美精品 | 欧美日韩久久一区 | 黄色电影在线免费观看 | 911精品美国片911久久久 | 91九色在线视频 | 美女视频国产 | 亚洲成年人在线播放 | 97色在线观看免费视频 | 中文区中文字幕免费看 | 最近高清中文在线字幕在线观看 | 一区中文字幕电影 | av网站在线观看播放 | 黄色www免费 | 中文字幕日韩国产 | 国产精品观看视频 | 久久精品中文字幕 | 亚洲精品久久久久久久不卡四虎 | 13日本xxxxxⅹxxx20 | 欧美片一区二区三区 | 91九色视频在线观看 | .国产精品成人自产拍在线观看6 | 成人试看120秒 | 97超碰网 | 中文字幕av在线播放 | 99久久99久久精品国产片果冰 | 狠狠色丁香婷婷综合视频 | 亚洲黄a | 人人藻人人澡人人爽 | 天天摸日日摸人人看 | 五月天久久精品 | 亚洲成人精品久久 | 在线播放视频一区 | 成人av在线观 | 亚洲欧洲精品一区二区 | 在线精品视频免费播放 | av在线免费网 | 91完整版| 日日射天天射 | 91 在线视频播放 | 91免费国产在线观看 | 国产亚洲欧美精品久久久久久 | 中午字幕在线 | 亚洲一区动漫 | 日韩欧美在线视频一区二区三区 | 免费在线播放av电影 | 特黄特色特刺激视频免费播放 | 国产日韩精品在线 | 成年人精品 | 久久综合偷偷噜噜噜色 | 国产精品久久久久久久久久免费看 | av一级一片 | 久久久久久中文字幕 | 麻豆视频一区 | 亚洲精品va | 欧美精品久久久久久久久老牛影院 | 五月婷婷播播 | 亚洲爱视频 | 久久久久久久久久久免费 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 久热免费 | 91亚色在线观看 | 免费一级日韩欧美性大片 | 最新国产精品视频 | 日韩精品欧美一区 | 四虎影视www | 天天碰天天操 | 91天堂素人约啪 | 久久午夜国产精品 | 久久久精品视频网站 | av黄色免费看 | 人人爽影院 | 91精品一区二区三区久久久久久 | 97在线超碰 | 国产精品美女999 | 亚洲激情视频在线 | 狠狠操天天射 | 激情综合色播五月 | 9i看片成人免费看片 | 免费成人黄色片 | 亚洲伊人成综合网 | 最近高清中文字幕在线国语5 | 超碰在线观看av | 国产精品18久久久久久久 | 欧美黑人性猛交 | 久久精品国产亚洲aⅴ | av在线免费播放网站 | 99久久精品久久久久久动态片 | 在线中文字幕视频 | 亚洲天堂在线观看完整版 | 2019中文 | 91麻豆.com| 天天撸夜夜操 | 97麻豆视频| 久久综合免费视频 | av电影一区 | 亚洲精品白浆高清久久久久久 | 国产精品毛片完整版 | 亚洲精品永久免费视频 | 国产裸体bbb视频 | 综合久久久久久久久 | 中文区中文字幕免费看 | 国产精品综合av一区二区国产馆 | 激情综合网天天干 | 日韩大片免费在线观看 | 亚州精品在线视频 | 在线观看免费av网 | aaawww| 亚洲最新av在线网址 | 在线观av| 久久精品视频4 | 五月激情在线 | 国产又粗又猛又色 | www国产亚洲精品 | 欧美a级在线播放 | 毛片无卡免费无播放器 | 成人黄色在线观看视频 | 91av成人 | www.com.黄| 福利一区在线视频 | 在线观看www. | 成年人看片网站 | 精品中文字幕在线 | 天天色天天综合网 | 国产乱对白刺激视频不卡 | 亚洲国内精品在线 | 久久久久亚洲精品成人网小说 | 亚洲电影第一页av | 欧美激情综合网 | 麻豆小视频在线观看 | 一级性视频| 欧美91片| 日本性久久 | 久久亚洲日本 | 亚洲国产资源 | 久久国产午夜精品理论片最新版本 | 国产精品2020 | 超碰97在线资源站 | 中文字幕在线高清 | 亚洲一级理论片 | 午夜久久影视 | 国产一区精品在线 | 亚洲免费精品一区二区 | 天堂av色婷婷一区二区三区 | 成人免费视频网站在线观看 | 久久精品视频在线播放 | 天天插天天干 | 亚洲天堂网视频 | 美女免费视频观看网站 | 日韩一区二区三区免费视频 | 91手机电影 | 亚洲九九精品 | 亚洲人成在线观看 | 91精品啪 | 91成人免费看片 | 嫩草av在线| 精品美女在线视频 | 人人爽人人干 | 麻豆久久一区二区 | 97夜夜澡人人双人人人喊 | 特黄特色特刺激视频免费播放 | 欧美日本不卡视频 | av成人在线观看 | 免费在线观看91 | 激情欧美一区二区三区 | 17videosex性欧美 | 天天干天天玩天天操 | 欧美激情第八页 | 色偷偷网站视频 | 精品一二三区视频 | 国产精品18毛片一区二区 | 国产最新在线观看 | 免费精品在线视频 | 欧美a免费 | 天天综合中文 | 国产高清一区二区 | 日韩 在线a | 国产一级h | 欧美另类色图 | 伊人春色电影网 | 国产精品久久99 | 日韩精品一区二区三区免费观看视频 | 精品欧美一区二区在线观看 | 国产成人精品综合久久久久99 | 91看片在线播放 | 天天爱综合 | 岛国av在线 | 天天插狠狠插 | 国产精品手机播放 | 一级片在线 | 96精品视频 | 久草在线免费看视频 | av福利网址导航大全 | 欧美性极品xxxx娇小 | 密桃av在线 | 久久免费在线视频 | 日韩国产精品一区 | 国产不卡一 | 免费网站观看www在线观看 | 午夜精品视频福利 | 久草视频精品 | 免费看毛片网站 | 怡红院成人在线 | 免费高清在线视频一区· | av观看网站 | 久久国产成人午夜av影院潦草 | 欧美人交a欧美精品 | 片黄色毛片黄色毛片 | 久久超碰在线 | 亚洲国产中文字幕在线观看 | 国产视频亚洲精品 | 伊人五月 | 日日天天av | 国产黄色片网站 | 中文字幕在线观看日本 | 国产黄免费 | 久草视频在线观 | 色在线免费视频 | 久草精品视频 | 婷婷伊人网 | 欧美色图亚洲图片 | www操操 | 日韩sese| 久久看视频 | 国产激情免费 | 中文字幕中文 | 91人人澡人人爽人人精品 | 久久99国产精品自在自在app | 国内一区二区视频 | 精品国产一区二区三区久久 | 欧美老人xxxx18| 欧美不卡视频在线 | 日日夜夜精品 | 亚洲爱爱视频 | 国产精品综合久久久久久 | 免费性网站 | 国产在线视频资源 | 国产精品国产亚洲精品看不卡15 | 亚洲精品久久久蜜臀下载官网 | 色吊丝在线永久观看最新版本 | 久久久国产毛片 | 99精品在线观看 | 天天草天天干天天射 | 国产成人精品午夜在线播放 | 久久久久久久久免费 | 亚洲成a人片77777kkkk1在线观看 | 青青久草在线视频 | 久久精品国产亚洲a | 狠狠狠狠狠狠操 | 亚洲美女在线一区 | 国产专区在线视频 | 中文字幕韩在线第一页 | 超碰在线观看99 | 国产精品免费人成网站 | 欧美午夜剧场 | 99精品久久久久久久 | 久久成年人网站 | 日韩av手机在线观看 | 欧洲不卡av| 五月天婷婷在线观看视频 | 国产精品久久久久久久久久久久午 | 国产中文字幕在线播放 | 久久免费高清 | 亚洲va欧美va人人爽 | 日韩欧美视频二区 | 亚洲美女在线国产 | 久精品视频在线观看 | 欧美日韩一区二区三区在线免费观看 | 国产精品久久久久久吹潮天美传媒 | 日韩激情一二三区 | 日韩一二三区不卡 | 欧美天天干 | 在线免费观看羞羞视频 | 五月婷网| 精品国偷自产在线 | 久久久精品高清 | 国产成视频在线观看 | 播五月婷婷 | 黄污视频大全 | 亚洲精品在线一区二区 | 国产精品久久久网站 | 中文字幕一区二 | av综合在线观看 | 色婷婷六月天 | 免费看三级 | 国产精品视频app | 99视频| 四月婷婷在线观看 | 黄色app网站在线观看 | 最近久乱中文字幕 | 国产一区二区三区久久久 | 夜色资源网 | 午夜国产在线 | 成人久久18免费网站麻豆 | 日韩欧美综合 | 久久久一本精品99久久精品66 | 免费毛片一区二区三区久久久 | 99国产情侣在线播放 | 久久综合九色综合97_ 久久久 | 久亚洲 | 99热999| 天天狠狠干 | 91亚洲网| 麻豆视频国产 | 亚洲最大免费成人网 | 天天激情站 | 国产精品99精品 | 久草在线免费电影 | 国产字幕在线看 | 黄色av一区| 81精品国产乱码久久久久久 | 国产五月色婷婷六月丁香视频 | 亚洲精品视频第一页 | 亚洲动漫在线观看 | 激情久久久久久久久久久久久久久久 | 香蕉视频在线播放 | 最新av网址在线观看 |