接口:
package com.cc.ovp.dao;
import java.util.List;
import org.springframework.dao.DataAccessException;
import com.cc.ovp.domain.Host_setting;
public interface HostSettingDAO {
/添加域名
public abstract void insertHost(Host_setting host_s) throws DataAccessException;
///根据userid修改域名
public abstract void updateHostByUserid(Host_setting host_s);
///根据userid查询域名
public abstract List<Host_setting> selectHostByUserid(String userid) throws Exception;
/根据userid修改域名白名单//
public abstract void updateEnable_host(Host_setting host_s) throws Exception;
/根据userid修改域名黑名单//
public abstract void updateDisable_host(Host_setting host_s) throws Exception;
/根据userid修改域名类型//
public abstract void updateSetting_type(Host_setting host_s) throws Exception;
public abstract void deleteHost(Host_setting host) throws Exception;
}
实现类:
package com.cc.ovp.dao.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.SqlMapClientTemplate;
import org.springframework.stereotype.Repository;
import com.cc.ovp.dao.HostSettingDAO;
import com.cc.ovp.domain.Host_setting;
/**
*
* @author Qixuan.Chen
*/
@Repository("hostSettingDAO")
public class HostSettingDAOImpl implements HostSettingDAO{
@Resource(name = "sqlMapClientTemplate")
private SqlMapClientTemplate sqlMapClientTemplate;
public HostSettingDAOImpl(){}//无参数构造方法,防止ibatis的SQL执行出错
/添加域名
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#insertHost(com.cc.ovp.domain.Host_setting)
*/
@Override
public void insertHost(Host_setting host_s) throws DataAccessException {
sqlMapClientTemplate.insert("host_setting.insert", host_s);
//host_setting.insert中的host_setting与ibatis的映射文件的namespace的名称一致,inster查询语句ID
System.out.println("数据插入成功!");
}
///根据userid修改域名
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#updateHostByUserid(com.cc.ovp.domain.Host_setting)
*/
@Override
public void updateHostByUserid(Host_setting host_s){
sqlMapClientTemplate.update("host_setting.updateByUserid", host_s);
}
///根据userid查询域名
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#selectHostByUserid(java.lang.String)
*/
@Override
public List<Host_setting> selectHostByUserid(String userid) throws Exception{
@SuppressWarnings("unchecked")
List<Host_setting> hostList = sqlMapClientTemplate.queryForList("host_setting.selectByUserid",userid);
return hostList;
}
/根据userid修改域名白名单//
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#updateEnable_host(com.cc.ovp.domain.Host_setting)
*/
@Override
public void updateEnable_host(Host_setting host_s) throws Exception{
sqlMapClientTemplate.update("host_setting.updateEnable_host",host_s);
}
/根据userid修改域名黑名单//
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#updateDisable_host(com.cc.ovp.domain.Host_setting)
*/
@Override
public void updateDisable_host(Host_setting host_s) throws Exception{
System.out.println("DAO==========>"+host_s.getDisable_host());
sqlMapClientTemplate.update("host_setting.updateDisable_host",host_s);
System.out.println("更新成功!");
}
/根据userid修改域名类型//
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#updateSetting_type(com.cc.ovp.domain.Host_setting)
*/
@Override
public void updateSetting_type(Host_setting host_s) throws Exception{
sqlMapClientTemplate.update("host_setting.updateSetting_type",host_s);
}
/* (non-Javadoc)
* @see com.cc.ovp.dao.impl.HostSettingDAO#deleteHost(com.cc.ovp.domain.Host_setting)
*/
@Override
public void deleteHost(Host_setting host) throws Exception{
sqlMapClientTemplate.delete("host_setting.deleteByUserid",host);
}
}
映射文件host_setting.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="host_setting">
<typeAlias alias="host_setting" type="com.cc.ovp.domain.Host_setting" />
<sql id="_columns">
userid, enable_host, disable_host, setting_type
</sql>
<!-- 添加域名 -->
<insert id="insert" parameterClass="host_setting">
insert into host_setting
(userid,enable_host,disable_host,setting_type)
values
(#userid#, #enable_host#, #disable_host#, #setting_type#)
</insert>
<!-- 根据用户ID查询域名 -->
<select id="selectByUserid" parameterClass="java.lang.String" resultClass="host_setting">
select * from host_setting where userid = #userid#
</select>
<!-- 根据域用户ID修改域名白名单 -->
<update id="updateEnable_host" parameterClass="host_setting">
update host_setting set enable_host=#enable_host# where userid=#userid#
</update>
<!-- 根据域用户ID修改域名黑名单 -->
<update id="updateDisable_host" parameterClass="host_setting">
update host_setting set disable_host=#disable_host# where userid=#userid#
</update>
<!-- 根据域用户ID修改域名选择类型 -->
<update id="updateSetting_type" parameterClass="host_setting">
update host_setting set setting_type=#setting_type# where userid=#userid#
</update>
<!-- 根据域用户ID修改域名选择类型 -->
<update id="updateByUserid" parameterClass="host_setting">
update host_setting set enable_host=#enable_host#,disable_host=#disable_host#,setting_type=#setting_type# where userid=#userid#
</update>
</sqlMap>
ibatis全局配置文件sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings
cacheModelsEnabled="false"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="512"
maxSessions="128"
maxTransactions="32"
useStatementNamespaces="true"
defaultStatementTimeout="100"
statementCachingEnabled="true"
classInfoCacheEnabled="true"
/>
<!-- 交互视频问答 -->
<sqlMap resource="maps/videoExam.xml" />
<sqlMap resource="maps/videoExamLog.xml" />
<!-- 域名限制 -->
<sqlMap resource="maps/host_setting.xml" />
<!-- 多账号 -->
<sqlMap resource="maps/ccUserChildren.xml" />
<!-- 问卷调查采集访客资料 -->
<sqlMap resource="maps/questionnaire.xml" />
<sqlMap resource="maps/q_userInfoRecord.xml" />
</sqlMapConfig>