搜档网
当前位置:搜档网 › MyBatis-Spring-1.2.2 指导手册

MyBatis-Spring-1.2.2 指导手册

MyBatis-Spring-1.2.2 指导手册
MyBatis-Spring-1.2.2 指导手册

MyBatis-Spring-1.2.2 指导手册

第一章简介

MyBatis-Spring是什么

MyBatis-Spring 会帮助你将MyBatis 代码无缝地整合到Spring 中。使用这个类库中的类, Spring 将会加载必要的MyBatis 工厂类和session 类。这个类库也提供一个简单的方式来注入MyBatis 数据映射器和SqlSession 到业务层的bean 中。而且

它也会处理事务, 翻译MyBatis 的异常到Spring 的DataAccessException 异常(数据访问异常,译者注)中。最终,它并不会依赖

于MyBatis,Spring 或MyBatis-Spring 来构建应用程序代码。

产生背景

正如第二版那样,Spring 3.0 也仅支持iBatis2。那么,我们就想将MyBatis3 的支持添加到Spring3.0(参考Spring Jira 中的问题)中。而不幸的是,Spring 3.0 的开发在MyBatis 3.0 官方发布前就结束了。因为Spring 开发团队不想发布一个基于非发布版的MyBatis 的整合支持,那么Spring 官方的支持就不得不继续等待了。要在Spring 中支持MyBatis,MyBatis 社区认为现在应该是

自己团结贡献者和有兴趣的人一起来开始将Spring 的整合作为MyBatis 社区的子项目的时候了。

必备知识

在开始使用MyBatis-Spring 的整合之前,很重要的一点是,你要熟悉Spring 和MyBatis 这两个框架还有和它们有关的术语,本

手册中不会提供二者的基本内容,安装和配置教程。

MyBatis-Spring requires Java 5 or higher and the following MyBatis and Spring versions:

MyBatis-Spring MyBatis Spring

1.0.0 and 1.0.1 3.0.1 to 3.0.5 3.0.0 or higher 1.0.2 3.0.6 3.0.0 or higher 1.1.0 3.1.0 or higher 3.0.0 or higher

感谢

特别感谢那些使得本项目成为现实的人们(按字母顺序排序)。Eduardo Macarron, Hunter Presnall和Putthibong Boonbong的

编码, 测试和文档修改工作; Andrius Juozapaitis, Giovanni Cuccu,Raj Nagappan和Tomas Pinos的贡献;而Simone Tripodi发现了

这些人并把他们带入项目之中。没有他们的努力,这个项目是不可能存在的。

第二章入门

本章将会以简略的步骤告诉你如何安装和创建MyBatis-Spring,并构建一个简单的数据访问事务性的应用程序。

安装

要使用MyBatis-Spring 模块,你只需要包含mybatis-spring-x.x.x.jar 文件就可以了,并在类路径中加入相关的依赖。

如果你使用Maven,那么在pom.xml 中加入下面的代码即可:

org.mybatis

mybatis-spring

x.x.x

快速开始

要和Spring 一起使用MyBatis,你需要在Spring 应用上下文中定义至少两样东西:一个SqlSessionFactory 和至少一个数据

映射器类。

在MyBatis-Spring 中,SqlSessionFactoryBean 是用于创建SqlSessionFactory 的。要配置这个工厂bean,放置下面的代码

在Spring 的XML 配置文件中:

要注意SqlSessionFactory 需要一个DataSource(数据源,译者注) 。这可以是任意的DataSource,配置它就和配置其它Spring 数据库连接一样。

Assume you have a data mapper class defined like the following:

public interface UserMapper {

@Select("SELECT * FROM users WHERE id = #{userId}")

User getUser(@Param("userId") String userId);

}

那么可以使用MapperFactoryBean,像下面这样来把接口加入到Spring 中:

要注意,所指定的映射器类必须是一个接口,而不是具体的实现类。在这个示例中,注解被用来指定SQL 语句,但是MyBatis 的映射器XML 文件也可以用。

一旦配置好,你可以用注入其它任意Spring 的bean 相同的方式直接注入映射器到你的business/service 对象中。MapperFactoryBean 处理SqlSession 的创建和关闭它。如果使用了Spring 的事务,那么当事务完成时,session 将会提交或回滚。最终,任何异常都会被翻译成Spring 的DataAccessException 异常。

调用MyBatis 数据方法现在只需一行代码:

public class FooServiceImpl implements FooService {

private UserMapper userMapper;

public void setUserMapper(UserMapper userMapper) {

https://www.sodocs.net/doc/337934830.html,erMapper = userMapper;

}

public User doSomeBusinessStuff(String userId) {

return https://www.sodocs.net/doc/337934830.html,erMapper.getUser(userId);

}

第三章SqlSessionFactoryBean

在基本的MyBatis 中,session 工厂可以使用SqlSessionFactoryBuilder 来创建。而在MyBatis-Spring 中,则使用SqlSessionFactoryBean 来替代。

Setup

要创建工厂bean,放置下面的代码在Spring 的XML 配置文件中:

要注意SqlSessionFactoryBean 实现了Spring 的FactoryBean 接口(请参考Spring 文档的 3.8 章节)这就说明了由Spring 最终创建的bean 不是SqlSessionFactoryBean 本身, 。而是工厂类的getObject()返回的方法的结果。这种情况

下,Spring 将会在应用启动时为你创建SqlSessionFactory 对象,然后将它以SqlSessionFactory 为名来存储。在Java 中, 相同的代码是:

SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();

SqlSessionFactory sessionFactory = factoryBean.getObject();

在一般的MyBatis-Spring 用法中, 你不需要直接使用SqlSessionFactoryBean 或和其对应的SqlSessionFactory。相反,session 工厂将会被注入到MapperFactoryBean 或其它扩展了SqlSessionDaoSupport 的DAO(Data Access Object,数据访问对象,译者注)中。

属性

SqlSessionFactory 有一个单独的必须属性,就是JDBC 的DataSource。这可以是任意的DataSource,其配置应该和其它Spring 数据库连接是一样的。

一个通用的属性是configLocation,它是用来指定MyBatis 的XML 配置文件路径的。如果基本的MyBatis 配置需要改变, 那么这就是一个需要它的地方。通常这会是的部分。

要注意这个配置文件不需要是一个完整的MyBatis 配置。确切地说,任意环境,数据源和MyBatis 的事务管理器都会被忽略。SqlSessionFactoryBean 会创建它自己的,使用这些值定制MyBatis 的Environment 时是需要的。

如果MyBatis 映射器XML 文件在和映射器类相同的路径下不存在,那么另外一个需要配置文件的原因就是它了。使用这个配置,有两种选择。第一是手动在MyBatis 的XML 配置文件中使用部分来指定类路径。第二是使用工厂bean 的mapperLocations 属性。

mapperLocations 属性使用一个资源位置的list。这个属性可以用来指定MyBatis 的XML 映射器文件的位置。它的值可以包含Ant 样式来加载一个目录中所有文件, 或者从基路径下递归搜索所有路径。比如:

这会从类路径下加载在sample.config.mappers 包和它的子包中所有的MyBatis 映射器XML 文件。

在容器环境管理事务中,一个可能需要的属性是transactionFactoryClass。请参考第四章(4.2 节)中来查看有关部分。

第四章事务

一个使用MyBatis-Spring 的主要原因是它允许MyBatis 参与到Spring 的事务管理中。而不是给MyBatis 创建一个新的特定的事务管理器,MyBatis-Spring 利用了存在于Spring 中的DataSourceTransactionManager。

一旦Spring 的PlatformTransactionManager 配置好了,你可以在Spring 中以你通常的做法来配置事务。@Transactional 注解和AOP(Aspect-Oriented Program,面向切面编程,译者注)样式的配置都是支持的。在事务处理期间,一个单独的SqlSession 对象将会被创建和使用。当事务完成时,这个session 会以合适的方式提交或回滚。

一旦事务创建之后,MyBatis-Spring 将会透明的管理事务。在你的DAO 类中就不需要额外的代码了。

标准配置

要开启Spring 的事务处理, 在Spring 的XML 配置文件中简单创建一个DataSourceTransactionManager 对象:

指定的DataSource 一般可以是你使用Spring 的任意JDBC DataSource。这包含了连接池和通过JNDI 查找获得的DataSource。

要注意, 为事务管理器指定的DataSource 必须和用来创建SqlSessionFactoryBean 的是同一个数据源,否则事务管理器就无法工作了。

容器管理事务

如果你正使用一个JEE 容器而且想让Spring 参与到容器管理事务(Container managed transactions,CMT,译者注)中,那么Spring 应该使用JtaTransactionManager 或它的容器指定的子类来配置。做这件事情的最方便的方式是用Spring 的事务命名空间:

在这种配置中,MyBatis 将会和其它由CMT 配置的Spring 事务资源一样。Spring 会自动使用任意存在的容器事务,在上面附加一个SqlSession。如果没有开始事务,或者需要基于事务配置,Spring 会开启一个新的容器管理事务。

注意, 如果你想使用CMT , 而不想使用Spring 的事务管理, 你就必须配置SqlSessionFactoryBean 来使用基本的MyBatis 的ManagedTransactionFactory 而不是其它任意的Spring 事务管理器:

编程式事务管理

MyBatis 的SqlSession 提供指定的方法来处理编程式的事务。但是当使用MyBatis-Spring 时, bean 将会使用Spring 管理的SqlSession 或映射器来注入。那就是说Spring 通常是处理事务的。

你不能在Spring 管理的SqlSession 上调用https://www.sodocs.net/doc/337934830.html,mit() , SqlSession.rollback() 或SqlSession.close() 方法。如果这样做了, 就会抛出UnsupportedOperationException 异常。注意在使用注入的映射器时不能访问那些方法。

如果你想编程式地控制事务,请参考Spring 手册的10.6 节。这段代码展示了如何手动使用在10.6.2 章节描述的PlatformTransactionManager 来处理事务。

DefaultTransactionDefinition def = new DefaultTransactionDefinition();

def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

TransactionStatus status = txManager.getTransaction(def);

try {

userMapper.insertUser(user);

}

catch (MyException ex) {

txManager.rollback(status);

throw ex;

}

https://www.sodocs.net/doc/337934830.html,mit(status);

注意这段代码展示了一个映射器,但它也能和SqlSession 一起使用。

第五章使用SqlSession

在MyBatis 中,你可以使用SqlSessionFactory 来创建SqlSession。一旦你获得一个session 之后,你可以使用它来执行映射语句,提交或回滚连接,最后,当不再需要它的时候, 你可以关闭session。使用MyBatis-Spring 之后, 你不再需要直接使用SqlSessionFactory 了,因为你的bean 可以通过一个线程安全的SqlSession 来注入,基于Spring 的事务配置来自动提交,回滚,关闭session。

注意通常不必直接使用SqlSession。在大多数情况下MapperFactoryBean, 将会在bean 中注入所需要的映射器。下一章节中的MapperFactoryBean(6.1 节)会解释这个细节。

SqlSessionTemplate

SqlSessionTemplate 是MyBatis-Spring 的核心。这个类负责管理MyBatis 的SqlSession, 调用MyBatis 的SQL 方法, 翻译异常。SqlSessionTemplate 是线程安全的, 可以被多个DAO 所共享使用。

当调用SQL 方法时, 包含从映射器getMapper()方法返回的方法, SqlSessionTemplate 将会保证使用的SqlSession 是和当前Spring 的事务相关的。此外,它管理session 的生命周期,包含必要的关闭,提交或回滚操作。

SqlSessionTemplate 实现了SqlSession 接口,这就是说,在代码中无需对MyBatis 的SqlSession 进行替换。SqlSessionTemplate 通常是被用来替代默认的MyBatis 实现的DefaultSqlSession , 因为模板可以参与到Spring 的事务中并且被多个注入的映射器类所使用时也是线程安全的。相同应用程序中两个类之间的转换可能会引起数据一致性的问题。

SqlSessionTemplate 对象可以使用SqlSessionFactory 作为构造方法的参数来创建。

这个bean 现在可以直接注入到DAO bean 中。你需要在bean 中添加一个SqlSession 属性,就像下面的代码:

public class UserDaoImpl implements UserDao {

private SqlSession sqlSession;

public void setSqlSession(SqlSession sqlSession) {

this.sqlSession = sqlSession;

}

return (User) sqlSession.selectOne("https://www.sodocs.net/doc/337934830.html,erMapper.getUser", userId);

}

}

如下注入SqlSessionTemplate:

SqlSessionTemplate 有一个使用ExecutorType 作为参数的构造方法。这允许你用来创建对象,比如,一个批量SqlSession,但是使用了下列Spring 配置的XML 文件:

现在你所有的语句可以批量操作了,下面的语句就可以在DAO 中使用了。

public void insertUsers(User[] users) {

for (User user : users) {

sqlSession.insert("https://www.sodocs.net/doc/337934830.html,erMapper.insertUser", user);

}

}

注意,如果所需的执行方法和默认的SqlSessionFactory 设置不同,这种配置风格才能使用。

对这种形式需要说明的是当这个方法被调用时,不能有一个存在使用不同ExecutorType 运行的事务。也要保证在不同的事务中,使用不同执行器来调用SqlSessionTemplate 时, (比如PROPAGATION_REQUIRES_NEW)或完全在一个事务外面。

SqlSessionDaoSupport

SqlSessionDaoSupport 是一个抽象的支持类, 用来为你提供SqlSession 。调用getSqlSession()方法你会得到一个SqlSessionTemplate,之后可以用于执行SQL 方法, 就像下面这样:

public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {

public User getUser(String userId) {

return (User) getSqlSession().selectOne("https://www.sodocs.net/doc/337934830.html,erMapper.getUser", userId);

}

}

通常MapperFactoryBean 是这个类的首选,因为它不需要额外的代码。但是,如果你需要在DAO 中做其它非MyBatis 的工作或需要具体的类,那么这个类就很有用了。

SqlSessionDaoSupport 需要一个sqlSessionFactory 或sqlSessionTemplate 属性来设置。这些被明确地设置或由Spring 来自动装配。如果两者都被设置了, 那么SqlSessionFactory 是被忽略的。

假设类UserMapperImpl 是SqlSessionDaoSupport 的子类,它可以在Spring 中进行如下的配置:

第六章注入映射器

为了代替手工使用SqlSessionDaoSupport 或SqlSessionTemplate 编写数据访问对象(DAO)的代码,MyBatis-Spring 提供

了一个动态代理的实现:MapperFactoryBean。这个类可以让你直接注入数据映射器接口到你的service 层bean 中。当使用映射器时,你仅仅如调用你的DAO 一样调用它们就可以了,但是你不需要编写任何DAO 实现的代码,因为MyBatis-Spring 将会为你创建代理。

使用注入的映射器代码,在MyBatis,Spring 或MyBatis-Spring 上面不会有直接的依赖。MapperFactoryBean 创建的代理控制开放和关闭session,翻译任意的异常到Spring 的DataAccessException 异常中。此外,如果需要或参与到一个已经存在活动事务中,代理将会开启一个新的Spring 事务。

MapperFactoryBean

数据映射器接口可以按照如下做法加入到Spring 中:

MapperFactoryBean 创建的代理类实现了UserMapper 接口,并且注入到应用程序中。因为代理创建在运行时环境中(Runtime,译者注) ,那么指定的映射器必须是一个接口,而不是一个具体的实现类。

如果UserMapper 有一个对应的MyBatis 的XML 映射器文件, 如果XML 文件在类路径的位置和映射器类相同时, 它会被MapperFactoryBean 自动解析。没有必要在MyBatis 配置文件中去指定映射器, 除非映射器的XML 文件在不同的类路径下。可以参考SqlSessionFactoryBean 的configLocation 属性(第三章)来获取更多信息。

注意,当MapperFactoryBean 需要SqlSessionFactory 或SqlSessionTemplate 时。这些可以通过各自的SqlSessionFactory 或SqlSessionTemplate 属性来设置, 或者可以由Spring 来自动装配。如果两个属性都设置了,那么SqlSessionFactory 就会被忽略,因为SqlSessionTemplate 是需要有一个session 工厂的设置; 那个工厂会由MapperFactoryBean. 来使用。

你可以直接在business/service 对象中以和注入任意Spring bean 的相同方式直接注入映射器:

这个bean 可以直接在应用程序逻辑中使用:

public class FooServiceImpl implements FooService {

private UserMapper userMapper;

public void setUserMapper(UserMapper userMapper) {

https://www.sodocs.net/doc/337934830.html,erMapper = userMapper;

}

public User doSomeBusinessStuff(String userId) {

return https://www.sodocs.net/doc/337934830.html,erMapper.getUser(userId);

}

}

注意在这段代码中没有SqlSession 或MyBatis 的引用。也没有任何需要创建,打开或关闭session 的代码,MyBatis-Spring 会来关心它的。

MapperScannerConfigurer

没有必要在Spring 的XML 配置文件中注册所有的映射器。相反,你可以使用一个MapperScannerConfigurer , 它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。

要创建MapperScannerConfigurer,可以在Spring 的配置中添加如下代码:

basePackage 属性是让你为映射器接口文件设置基本的包路径。你可以使用分号或逗号作为分隔符设置多于一个的包路径。每个映射器将会在指定的包路径中递归地被搜索到。

MapperScannerConfigurer 属性不支持使用了PropertyPlaceholderConfigurer 的属性替换,因为会在Spring 其中之前来它加载。但是,你可以使用PropertiesFactoryBean 和SpEL 表达式来作为替代。

注意, 没有必要去指定SqlSessionFactory 或SqlSessionTemplate , 因为MapperScannerConfigurer 将会创建MapperFactoryBean,之后自动装配。但是,如果你使用了一个以上的DataSource ,那么自动装配可能会失效。这种情况下,你可以使用sqlSessionFactoryBeanName 或sqlSessionTemplateBeanName 属性来设置正确的bean 名称来使用。这就是它如何来配置的,注意bean 的名称是必须的,而不是bean 的引用,因此,value 属性在这里替代通常的ref:

MapperScannerConfigurer 支持过滤由指定的创建接口或注解创建映射器。annotationClass 属性指定了要寻找的注解名称。markerInterface 属性指定了要寻找的父接口。如果两者都被指定了,加入到接口中的映射器会匹配两种标准。默认情况下,这两个属性都是null,所以在基包中给定的所有接口可以作为映射器加载。

被发现的映射器将会使用Spring 对自动侦测组件(参考Spring 手册的 3.14.4)默认的命名策略来命名。也就是说,如果没有发现注解,它就会使用映射器的非大写的非完全限定类名。但是如果发现了@Component 或JSR-330 的@Named 注解,它会获取名称。注意你可以配置到https://www.sodocs.net/doc/337934830.html,ponent , https://www.sodocs.net/doc/337934830.html,d(如果你使用JSE 6 的话)或你自己的注解(肯定是自我注解)中,这样注解将会用作生成器和名称提供器。

第七章使用MyBatis API

使用MyBatis-Spring,你可以继续直接使用MyBatis 的API。仅仅在代码中使用Spring 中的SqlSessionFactoryBean 来创建一个SqlSessionFactory。

public class UserMapperSqlSessionImpl implements UserMapper {

// SqlSessionFactory would normally be set by SqlSessionDaoSupport

private SqlSessionFactory sqlSessionFactory;

public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {

this.sqlSessionFactory = sqlSessionFactory;

}

public User getUser(String userId) {

// note standard MyBatis API usage - opening and closing the session manually

SqlSession session = sqlSessionFactory.openSession();

try {

return (User) session.selectOne("https://www.sodocs.net/doc/337934830.html,erMapper.getUser", userId);

} finally {

session.close();

}

}

}

小心使用此选项, 因为错误的使用会产生运行时错误, 或者更糟糕的数据一致性的问题。这些是告诫:

?它不会参与到Spring 的事务之中。

?如果SqlSession 使用DataSource,它也会被Spring 事务管理器使用,而且当前有事务在进行时,这段代码会抛出异常。

?使用DefaultSqlSession 创建的映射器也不是线程安全的。如果你将它们注入到bean 中,是会发生错误的。

?你必须保证在finally 块中来关闭SqlSession。

Sample Code

Purpose

This new JPetStore comes with the same idea in mind than its predecessors: keep it simple. The purpose of JPetStore 6 is to demonstrate how to build a web application with very few classes and no advanced coding skills. You just need to know plain Java and SQL.

The 6th version of JPetStore is the smallest one in the family. It uses just 24 java classes while keeping a good design and program structure. As we will see later on, you will find no code for dealing with JDBC, for creating objects or bind them or to handle transactions. What is more impressive is that you will not find any call to the MyBatis API. Although this sounds magical, you will see that the combination of MyBatis mappers and dependency injection lets you build applications without dependencies.

Program Structure

JPetStore 6 follows the typical maven project structure

/jpetstore <-- Maven pom.xml goes here.

/src

/main/

/java <-- Java code goes here.

/org/

/mybatis

/jpetstore

/domain <-- Business domain objects go here.

/persistence <-- Mapper interfaces go here.

/service <-- Application logic goes here.

/web

/actions <-- Presentation logic (actions) goes here.

/resources <-- Non java files go here.

/org

/mybatis

/jpetstore

/persistence <-- Mapper XML files go here.

/database

/webapp

/css

/images

/WEB-INF <-- web.xml and applicationContext.xml go here.

/jsp <-- JSP files go here.

Configuration files

Configuration files are read during application startup. Their purpose is to configure the three frameworks composing the application: Stripes, Spring and MyBatis. We will just need to configure two files: web.xml and applicationContext.xml.

web.xml

First of all we need to start Stripes, so we follow the Stripes manual to do so. The manual says that we should set up a dispatcher servlet and a filter. So let's go.

Stripes Filter

StripesFilter

net.sourceforge.stripes.controller.StripesFilter

StripesFilter

StripesDispatcher

REQUEST

StripesDispatcher

net.sourceforge.stripes.controller.DispatcherServlet

1

StripesDispatcher

*.action

Stripes is able to search for ActionBean classes, for that purpose we must set up the base package it should search in.

net.sourceforge.stripes.controller.StripesFilter

ActionResolver.Packages

org.mybatis.jpetstore.web

We are done with Stripes. Let's move on to the Spring side. According to Spring's reference manual we should add a Context listener to start up Spring. So let's add it:

org.springframework.web.context.ContextLoaderListener

By default Spring will use /WEB-INF/applicationContext.xml if we don't specify a different file. The default is fine for us.

Now we have to let Stripes know that it will be running with Spring. This way we will be able to inject Spring beans directly into Stripes ActionBeans. For that purpose, following once again the Stripes manual, we set up an interceptor as follows below:

net.sourceforge.stripes.controller.StripesFilter

Interceptor.Classes

net.sourceforge.stripes.integration.spring.SpringInterceptor

We are done with web.xml. As you may have notice, we have not set up any MyBatis 3 configuration yet. That configuration goes into the Spring's applicationContext.xml that we will see in the following section.

applicationContext.xml

As you already know applicationContext.xml is the Spring's configuration file. Spring is a dependency injection framework and it has to know which beans it must create and how to bind them together and that is what applicationContext.xml file is for. Let's have a deeper look into it.

The first and easiest thing we have to do is let Spring know where are our service beans. We will let Spring search them in our classpath so we just need to provide it the base package to search in:

NOTE Spring's component scan feature is not able to find MyBatis mappers. A mapper is not a plain bean and Spring would not know how to instantiate it. We will see how to search for mappers soon.

We will also need a DataSource and a TransactionManager. Given that this is a demo application we will use a test

Spring DataSource that will create an HSQL in-memory database and load our database scripts into it and the standard

Spring's DataSourceTransactionManager to handle transactions.

So far, all we have done is standard Stripes and Spring configuration and now it is time to move on to the MyBatis part. As you have learned in this manual to set up MyBatis with Spring you need at least two things: an SqlSessionFactoryBean and a mapper class. So let's go hands on. First define a SqlSessionFactoryBean:

And now we need to setup our mappers. For that purpose we will use the MapperScannerConfigurer that works similar to Spring standard component scan. It will search our classpath for mapper classes and register them to MyBatis. Similar to Spring's component scan we must configure the base package to search in.

To save some writing when building our mapper xml files we would want to be able to use short aliases for beans.

The SqlSessionFactoryBean has the capability to search for beans and register their short names as aliases if we setup

the typeAliasPackage property like the following:

Our application is now fully configured and ready to run. But before running it lets have a tour through the code to see how it looks like.

Code tour

JPetStore 6 is a typical MVC application with three layers: presentation, logic and data access.

Presentation

The presentation layer is composed by JSP files and Stripes ActionBeans. JSPs just use plain HTML, JSTL tags and Stripes tags so there is nothing especial about them for the sake of this sample. Stripes ActionBeans are like Struts actions or Spring MVC controllers so there is nothing especial with them either.

Given that we have integrated Stripes with Spring, we can inject our services into our ActionsBeans so you can just use them without caring about its creation or lookup. Have a look at CatalogActionBean:

@SessionScope

public class CatalogActionBean extends AbstractActionBean {

...

@SpringBean

private transient CatalogService catalogService;

...

public ForwardResolution viewCategory() {

if (categoryId != null) {

productList = catalogService.getProductListByCategory(categoryId);

category = catalogService.getCategory(categoryId);

}

return new ForwardResolution(VIEW_CATEGORY);

}

...

Note the @SpringBean annotation, that is an Stripes annotation that tells Stripes to look for that bean in Spring and inject it into this ActionBean.

Logic

Application logic is composed by plain Java beans that act as services and plain Java beans that act as domain objects. This layer is in charge of filling domain objects with database data and updating database data with the content of the domain objects. For this purpose this layer must be transactional, that is, it must be able to perform atomic database updates.

Let's have a look at OrderService code to see how all this is achieved:

@Service

public class OrderService {

@Autowired

private ItemMapper itemMapper;

@Autowired

private OrderMapper orderMapper;

@Autowired

private LineItemMapper lineItemMapper;

@Transactional

public void insertOrder(Order order) {

order.setOrderId(getNextId("ordernum"));

for (int i = 0; i < order.getLineItems().size(); i++) {

LineItem lineItem = (LineItem) order.getLineItems().get(i);

String itemId = lineItem.getItemId();

Integer increment = new Integer(lineItem.getQuantity());

Map param = new HashMap(2);

param.put("itemId", itemId);

param.put("increment", increment);

itemMapper.updateInventoryQuantity(param);

}

orderMapper.insertOrder(order);

orderMapper.insertOrderStatus(order);

for (int i = 0; i < order.getLineItems().size(); i++) {

LineItem lineItem = (LineItem) order.getLineItems().get(i);

lineItem.setOrderId(order.getOrderId());

lineItemMapper.insertLineItem(lineItem);

}

}

The first thing you will notice is that there is no JDBC code in the service, nor it is any MyBatis code in it. You may think that we used the DAO pattern and database access code is in the database layer, but as we will see later, the database layer is built with MyBatis mappers, that are plain java interfaces, and that is why you will not find any call to MyBatis API in the whole application. It is just not needed.

The second thing you may have noticed is that there are no commits or rollbacks. That is because it uses the declarative transaction demarcation feature of Spring that is fully supported by MyBatis-Spring. The Spring's @Transactional annotation indicates that this method is transactional, that means that all updateInventoryQuantity, insertOrder and insertLineItem mapper calls must succeed or none.

Persistence

The persistence layer is composed of MyBatis mappers. Mappers are just plain Java interfaces and mapper XML files containing the SQL statements. There is no custom Java code in this layer. When the getOrder method is called on the OrderMapper interface, MyBatis will execute the getOrder SQL statement in OrderMapper.xml file and will populate the Order domain bean with retrieved data.

public interface OrderMapper {

List getOrdersByUsername(String username);

Order getOrder(int orderId);

void insertOrder(Order order);

void insertOrderStatus(Order order);

}

...

NOTE You can easily add caching to your queries by adding a element to your mapper xml file. Or, if you prefer, Spring lets you cache at a higher level, caching the whole call to a mapper or service method.

Running JPetStore

You may ask. Does all this work? Yes it does! Let's run it.

Let's assume you have a clean computer. These are the steps you should follow to have the sample running on Tomcat with Eclipse:

?Download and unzip Tomcat

?Run Eclipse

?Go to Git tab

?Clone the repo https://https://www.sodocs.net/doc/337934830.html,/mybatis/jpetstore-6.git

?Select working directory, right click and select Import Projects (general)

?Go to Java EE tab

?Right click on jpetstore project and select "Configure/Convert to Maven Project"

?Right click on jpetstore project and select "run on server"

?Select Tomcat Server and set your installation directory

?JPetStore home page should be shown!!

Now you are ready to play with it, experiment with your own changes or whatever you want.

And remember that if you find a bug or something that is missing or can be improved (for example the missing tests!), fork the repo, change it, and open a pull request. Thanks in advance!!!

NOTE JPetStore 6 should run in any Servlet 2.5 y JSP 2.1 compliant Java server. Eclipse is not needed either, you can run the sample from your favorite IDE or the command line.

人事招聘操作手册(草稿)

生命人寿保险有限公司华强北营销创新项目财富管理中心人事招聘操作手册 (讨论稿) 生命人寿保险有限公司营销管理中心营销创新部 2010年8月

目录 一财富管理中心人事招聘目的 二财富管理中心人事招聘制度适用范围三人力资源经理的权责 四人事招聘的作业内容 五招聘的人员标准 六财富管理中心人事招聘流程图 七相关面试工具与表单

一、财富管理中心人事招聘目的 为招聘优秀、适用之人才,提升员工的整体素质,以适应财富管理中心整体发展与运作的需求,并使公司人员招聘程序有所依循。 二、财富管理中心人事招聘制度适用范围 (一)财富管理中心后援员工,分别为人力资源经理、客户资源经理、训练企划经理三个岗位。 (二)财富管理中心前线员工,分别为标准管理区总监、部门经理、理财经理、理财顾问四个岗位 三、人力资源经理的权责 (一)架构范围内招聘:根据财富管理中心业务发展计划及总公司人力资源部审批的招聘计划进行招聘工作。 (二)架构范围外招聘人才储备:人力资源经理要考虑某岗位人员突然离职等因素造成的架构人力补充问题,要进行一定量的人才储备,一旦出现需增补情况,人力资源经理要能及时的人才补充。 (三)人力资源经理对外进行人事招聘活动,必须受人力资源部委托,并由公司开具介绍信或证明文件。 四、人事招聘的作业内容 (一)人员增补的送审 1.因业务需要扩大编制或职务空缺填补等原因,可依公司核准的组织架构、人员编制,按照工作说明书的要求增补或填补人员。 2.由用财富管理中心营销管理分区填写《人力需求表》(附件1),并经权责主管核准,上报财富管理中心相关职能部门与领导,并会知财富管理中心综合部审核。 3. 财富管理中心综合部审核后,由人事专员根据人才规格办理人员内调或对外招聘作业。 (二)人员招聘途径

电脑维修部规章制度

电脑维修部规章制度 篇一:计算机,设备维护维修管理制度 计算机设备维护维修管理制度 为了有效地管理和使用学校的计算机设备,使现代办公设备在学校的教育教学中充分发挥作用,特制订本制度: 一、全校计算机要及时除尘,在计算机使用、网络运行、软件运用等方面遇到问题,发现故障时应及时与信息技术办公室联系。 二、学校计算机遵循先检查处理、后考虑外出维修更换的原则。 1、计算机设备的一般性维护,教师填写《学校计算机维护维修登记表》后,由信息技术办公室负责处理; 2、涉及硬件的专业性维修,由教师填写《学校计算机维护维修申请表》后,校领导签字同意后,联系相关维修部门进行维修。 三、根据登记的先后顺序和工作的缓急程度,区分不同故障类型和维护性质,进行维护。 四、教师办公用计算机不得在C盘上保存资料,否则若资料丢失,责任自负。 五、维护完成后,维护人员应当写清楚故障原因及处理结果,由教师签字或盖章,并写清维护时间,存档备查。 六、附: 《学校计算机维护维修申请表》《学校计算机维护维修登记表》 110 学校计算机维护维修登记表 经办教师: 学校计算机维护维修登记表

经办教师: 111 学校计算机维护维修申请表 经办教师: 学校计算机维护维修申请表 经办教师: 112 篇二:电脑维修公司员工管理手册 一、总则: 为了满足公司发展的需要,为了不断提高服务意识,以赢得客户的满意,特制定本守则,希望各位员工遵守。 二、仪容仪表 1(员工上岗时必须穿戴整齐,有工作服及胸卡的要穿戴上岗,不允许穿拖鞋、布鞋、露脚趾凉鞋、奇型怪状服饰等。 2(员工工作时间必须讲普通话,言语要有礼貌并简洁明了,不允许讲不文明语言,跟客户沟通时,不管客户出现什么不礼貌的言语,均不能用不礼貌的语言回击。 3(上岗时员工须保持良好的个人卫生,班前不得饮酒及使用刺激性气味食品。 三、行为规范 1(员工按照公司规定的时间上下班并签到 2(员工在岗期间,不准看非工作性的报纸、杂志及网站,不准玩游戏看电影等处理与工作无关的事情。 3(员工须按规定及时上交在公司内拾到的任何物品 4(员工不准向外界透露公司的经营计划、客户情况、数据、资料等任何有关公司的机密材料,不准故意将个人电话及联系方式留给客户。

冰箱产品维修指导手册

第一章冰箱基础知识 第一节电冰箱的定义及分类 一个供家用的具有适当容积和装置的绝热箱体,用消耗电能的手段来制冷,并具有一个或多个间室,它包括冷藏箱、冷藏冷冻箱、冷冻箱。 冷藏冷冻箱指至少有一个间室为冷藏室,适用于储藏不需冻结的食品,并至少有一个间室为冷冻室,适用于需要在-18℃或-18℃以下保存的冷冻食品和储藏冷冻食品。 1 依据种类 储藏温度冷藏箱;冷藏冷冻箱;冷冻箱 制冷方式蒸汽压缩式;半导体制冷式;吸收制冷式 冷却方式直冷式;风冷式(无霜);风直冷 气候环境亚温带型;温带型;亚热带型;热带型 制冷剂R12;R134a;R600a;混合工质 结构双门;多门;对开门 2 第二节电冰箱的结构及主要零部件介绍

1、压缩机 压缩机是冰箱的心脏部件,是制冷系统完成连续制冷循环的动力装置,其基本功能是将蒸发器中吸收了热量而汽化的制冷剂吸入后,压缩成高压气体送到冷凝器中冷却。 压缩机按工作原理可分为容积型和离心型,容积型是靠工作腔的容积变化实现制冷剂的吸入、压缩和排出,这类压缩机又可按工作腔容积变化方式分为往复式和回转式,冰箱普遍采用的是往复式,靠汽缸和活塞组成工作腔,活塞作直线往复运动;回转式的特点是气缸内有旋转的转子,汽缸与转子间形成工作腔,工作腔随转子的旋转而变化。 离心型是靠离心力的作用,连续吸入、压缩、排出,输送制冷剂蒸汽,其工作原理与离心鼓风机相似,靠高速气流动能的变化来提高气体的压力。

主要配件及参数: 压缩机的主要配件有电器附件(过载保护器、PTC起动器)、电器盒盖以及减振胶脚等,电器附件分为标准(分体)两器和整体式两器。 2、冷凝器 冷凝器的作用是将高温高压的制冷剂蒸气,通过向周围空气散热,变成中温高压的制冷剂液体。冷凝器所用材料已由最初的铜管到邦迪管,目前大量使用镀锌钢管,价格低,焊接难度较大。冷凝器分为内置式和外挂式,目前多采用外观美观的内置式,但这种方式的散热效果较差,增加了内漏的隐患。 3、干燥过滤器、毛细管 冰箱制冷系统虽然经过抽真空处理,但系统中总有微量的水分和细小杂质,所以在毛细管前端通常要设置干燥过滤器,吸附系统内地残留水分和杂质,以防毛细管冰堵和脏堵。干燥过滤器主要由铜网和分子筛组成,分子筛是一类人造泡沸石,根据水分子和制冷剂分子直径的差异,选择合适的分子筛,达到吸附水分子的作用,分子筛暴露在空气中的时间要严格控制。毛细管是孔径很小的细长紫铜管,内径为0.7mm,长度3~4米(由气体流量确定),来自冷凝器的高压液态制冷剂,经过毛细管后,由于管径变小,流动阻力增大,压力降低后,进入蒸发器。毛细管的长度和内径确定后,毛细管前后的冷凝压力和蒸发压力的压差,决定了通过毛细管的流量,进而影响制冷量。 4、蒸发器 蒸发器是和冰箱食物热交换,使食物获取“冷”的直接部件,目前制冷冰箱的冷冻室蒸发器通常采用板管式(铝板管和丝管),风冷冰箱冷冻室蒸发器一般翅片式蒸发器;冷藏室蒸发器一般采用盘管式蒸发器。丝管式蒸发器是将邦迪管盘成多个S形,与多根钢丝点焊而成,它具有体积小、重量轻、散热

HR必备招聘操作手册

招聘操作手册 一、招聘需求计划工作 1、原则 2、操作细则 (1)计划内招聘计划的制定的流程 详见《荣盛控股股份有限公司人力资源管理流程手册》(2)计划外招聘主要流程 详见《荣盛控股股份有限公司人力资源管理流程手册》3、注意事项

二、招聘实施工作 1、招聘实施的主要工作 2操作细则 (1)分解招聘计划 年度人力资源需求计划要根据用人时间要求分解到季度,使招聘工作有序进行,并节约人力成本。同时认真分析招聘需求人员的种类,以便选择合适的招聘渠道,达到良好的招聘效果。 (2)确定招聘渠道 ①招聘渠道分类 ②招聘渠道选择原则

(3)拟定招聘日程 根据招聘渠道和招聘人员种类,提前拟定单次招聘的日程安排,其中包括并不仅限于时间、地点、人员分工、主要流程、交通工具、招聘资料、费用等信息。(4)准备招聘材料 ①规范参与人员 ②统一宣传材料 宣传海报、宣传册、宣讲PPT资料、统一辅助工具。 ③确定岗位说明 严格依据岗位说明书确定岗位职责和任职资格。 (5)实施招聘工作 ①简历分拣:人力资源管理部门在招聘收到简历后,应根据需要岗位任职资格要求,参照应聘者工作经历或专业知识,进行简历初选。 说明:a、简历中有以下问题的原则上不通知面试:原单位除名的员工、与任职资格要求相差较大的员工、工作变动过于频繁的员工; b、各人力资源管理部门应认真做好简历分拣工作,建立电子简历库,便于集团各公司招聘信息共享,同时避免不合格应聘者重复性面试的情况发生。 ②进行面试

a、面试前准备 制定好围度、设计好问题以后,就可以进行面试了。但在面试前,必须给自己做准备的时间。一般来讲,做面试的准备工作包括以下几部分: ⑥在办公桌上摆上这个人的简历; ⑥记住名字和简历中的问题; ⑥桌上摆一个介绍公司的小册子; ⑥要注意名片的摆放位置; ⑥熟悉维度,熟悉要问的问题; ⑥确保面试的私密性,减少干扰。 b、面试预约 ⑥自我介绍,告知对方自己的姓氏; ⑥表达真诚与善意,邀约清晰,语调上扬; ⑥明确面试地点; ⑥尊重候选人的时间选择,语气不能太刚性; ⑥初步判断候选人性向; ⑥再次确认时间(一致性压力减少爽约概率); ⑥给候选人留面试联系电话。 c、面试进行的技巧 ⑥遵循定好的面试计划; ⑥系统化地探寻问题的答案,可以运用修改、重述、跳过、发展等问话技巧; ⑥直接在面试计划上记笔记; ⑥以自然的口吻问问题; ⑥收集准确的行为表现的例子。

员工招聘指引手册(验厂用)

浙江富豪特电器工具有限公司 人 力 资 源 招 聘 指 引 手 册

富豪特员工招聘指引手册 第一章总则 第一条目的 为满足公司持续、快速发展的需要,清晰招聘计划、规范操作流程、促 进部门协作、确保人才质量,特制定本手册。 第二条招聘原则 1、计划原则:根据公司发展需要提出人员发展规划以及招聘计划,包括 以定编确定招聘计划数,以岗位聘任标准确定招聘人员类型、条件。 2、内部招聘和外部招聘相结合,内部招聘优于外部招聘。公司将优先给 予选拔、晋升公司内符合招聘职位要求及表现卓越的员工,其次再考 虑面向社会公开招聘。 3、责任分解原则:在审核应聘人的过程中,人资部门与用人单位应根据 各自优势在审核的内容上进行明确分工,使审核结果尽可能地真实。 4、鼓励举荐原则:通过多种形式鼓励内部员工举荐人才,制定奖励措施, 对有突出贡献者给予相应表彰奖励。 第三条回避制度 1、公司倡导举贤不避亲的原则,但对自己的亲属、好友要履行申明手 续,需在《员工应聘履历表》上注明。否则,一经查实,将按诚信 要求给予处分直至辞退。 2、各级管理人员不得录用或调动亲属到自己所管辖范围内工作。 3、加入公司后成为亲属关系的,不得在同一个部门内或关联程度较高 的部门工作。 4、聘用、晋升公司现职员工的直系亲属(包括父母、兄弟姐妹、子女、 配偶等)时,需经总经理批准。 5、招聘人员对有任何亲属或其他亲近关系的应聘者均要履行回避制度。 6、招聘人员在招聘岗位与自己本身岗位相同或类似时履行回避制度。 第四条人力资源风险 1、运营风险 ⑴岗位设置不合理、岗位职责不清晰,不相容岗位未按规定实施分离, 影响企业的整体发展 ⑵人力资源配置不及时、不合理,敏感关键、涉密等岗位人员配置不 适当,影响企业正常经营

联想笔记本维修手册

联想笔记本电脑维修指导 一、笔记本电脑维修介绍-------------------------------------------- 3 二、笔记本电脑维修思路指导---------------------------------------- 4 1、拆装前注意事项------------------------------------------------- 4 2、拆卸时需要的注意事项------------------------------------------- 4 三、维修思路方法及判断指导---------------------------------------- 5 1、一般维修顺序指导----------------------------------------------- 5 2、维修判断思路指导----------------------------------------------- 6 2.1、维修判断原则、方法-------------------------------------------- 6 2.2、维修判断方法、思路-------------------------------------------- 6 2. 3、维修判断过程中应注意的问题------------------------------------ 8 2.4、功能测试工具在维修判断中的应用---------------------------------9 3、维修判断指导----------------------------------------------------10附录:维修基本流程图

小家电维修说明书

小家电维修说明书 Last revision date: 13 December 2020.

家电维修实训考核装置 实 验 指 导 书 前言 设备共有三种工作模式: 一、全故障模式 本设备中的家电实物,均设置了断路故障,所以家电并不能正常运行。此时,家电实物处于全故障模式,即所有的故障点均生效。找到电器背后或侧面的航空插座,插入故障消除头(航空插头),就能解除全部故障,插上电器插头,家电就能够正常工作了。 二、挂箱连接家电模式 找到电器背后或侧面的航空插座,用航空插头连接线将家电与相对应的挂箱连接,设备即处于挂箱连接家电模式。在该模式下,严禁将家电连接不与之相对应的挂箱,严禁使用电器插头。此时,应该接通挂箱电源,由挂箱面板上的开关按钮,直接控制家电中的某一部分独立运行。 三、家电智能考核模式

找到电器背后或侧面的航空插座,用航空插头连接线将家电与智能考核模块T30进行连接。同时,将智能考核模块T30背后的通讯口与电脑串口进行连接。插上电器的插头,接通智能考核模块T30的电源,打开电脑上位机软件,设备即处于家电智能考核模式。在该模式下,教师控制电脑上的家电考核软件,通过查看对应家电的图纸标注的故障位置,为学生设置一个或多个断路故障。学生则需要对家电及图纸进行查看,得出答案,输入智能考核模块T30。

目录上位机智能考核软件的使用

考核设置流程: 1、考试题目选择(考试选卷)→ 2、开始考核(考试选卷)→ 3、设备(观察学生考核状态) 注意1:考核的学号必须已录入学生数据库。 注意2:考卷已设置完毕。 注意3:用户需要相应的权限。 用户管理: 1、必须要用户管理权限 2、添加用户:添加一个新的用户。输入用户名、密码和管理权限后,点击新建一个用户按钮 3、修改用户:点击表格上所需要修改的用户。修改相应的内容,然后点击修改用户按钮 4、删除用户:点击表格上所需要删除的用户。点击删除用户按钮。 学生管理: 1、添加学生:输入学号、班级、姓名、年龄、性别信息后,点击添加学生信息按钮 2、修改学生信息:点击表格上所需要修改的用户。修改相应的内容,然后点击修改学生信息按钮 3、删除学生信息:点击表格上所需要删除的用户。点击删除学生信息按钮。 考卷管理: 1、考卷:考卷允许重复。重复的考卷名为同张考卷,否则为新考卷。 2、设备:同一张考卷内只运行同种设备。否则会提示是否修改设备。 3、故障:每种电路故障数量和故障形式都不同。设置时候根据相应的故障电路图设置

销售人员培训手册讲义

前言 销售培训的内容主要包括三部分: 1、销售人员的心理素质和潜能培训。由于销售人员通常面对的是拒绝与挫折,因此,通过培训使销售人员永远充满自信和保持积极进取的心态显得尤为重要。 2、是基础知识方面的培训。(因为讲的是房地产方面的销售所以首先销售人员就必须了解房地产知识),能够将产品的特性迅速转化成客户的利益需求点这是专业销售人员所必须具备的。(在之前的课程中,小叶和小陈已经讲过,所以我不再重复) 3、专业销售(8大)技巧培训。 销售是一门专业的科学,主要包括有 销售前的准备技巧(你在做这行时至少要了解推销区域、找出准客户、做好销售计划等工作的前期事项吧) 接近客户的技巧(我们有很多的方式如电话拜访客户、直接拜访客户、邮件拜访等这些都是可以用到的途径) 进入销售主题的技巧 事实调查的技巧 询问与倾听的技巧 产品展示和说明的技巧 处理客户异议的技巧 如何撰写建议书的技巧以及最后如何达成交易的技巧 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 第一部分心理素质和潜能培训 ———做为销售员首先要对自己思维 有针对性的突破 任何一个销售精英都必须经历一个从无知到有知、从生疏到熟练的过程,只要敢正视暂时的失败和挫折,并善于从中吸取经验教训,那么成功终会向你招手。 那好,先讲讲做销售的六大定律 1、客户是一定可以搞定的。 那事先需具备的条件有: 1做为销售员要树立良好的积极心态,集中力量解决事情。 2客户一般没有主见,观念不清晰,可以被引导。 3能来了解,就说明他有需求。 4客户对所购买的商品不是很了解,缺乏专业知识。 5客户心里是犹豫不决的,在这样的情况下,可以分析项目的优点让他心里知根就底。

产品维护方案

产品维护保养方案 一保修及维护保养方案 1.概述 1.1由承包商会同材料供应商和制作安装单位、设计单位提供保养维修手册,其保养维修工作应委托专业公司专业队伍进行。 1.2膜结构的保养和维修按维修保养手册进行。 1.3维修管理责任方必须对维修保养计划书、检修记录、检修报告书、修改记录的文档进行保管。 1.4工程用的所有紧固件、连接件不得随意转动。工程竣工后满6个月时,应检查期使用状态,若有松动应予以拧紧加固。 1.5膜结构应定期清洁。清洁时应使用膜供应商许可的、安全性好的专用清洁剂。 1.6专业管理人员应在每年雨季、冬季前进行屋面检查、清理、防止防水节点松脱,落水口、天沟、檐口堵塞,保持屋面水系畅通。 1.7膜结构建筑物的全部检修保养项目应包括膜面的形状、变形、初期张力状态、全部或局部的褶皱、破裂、断裂。 1.8根据膜材的有效使用年限应及时进行替换。 2.施工过程中的维护和保养 2.1.膜片起吊时,必须保证安全,注意收听天气预报,风力大于三级时不能作业。膜片起吊时有专人指挥,防止膜面受力不均而撕裂。 2.2.安装膜片时,安装工具不得随意抛掷,以防损坏膜面。 2.3.安装人员在膜面行走时,严禁穿皮鞋,必须穿软底工作鞋,保证鞋底无污染物,以免污染膜面。 2.4.高空作业,严禁向下抛掷物体,使用工具应用绳索和安全带或工具袋牵牢防止失落;小工具必须放在工具袋内,所有散件必须收集在容器内并不超过平口,严禁散落,不准双手拿物体上下和使用有缺陷的工具,以免造成膜面损伤。 2.5.拧紧膜边界螺栓,严禁使用活络扳手,以免造成膜面的损伤和污染。 2.6.施工过程中,若膜面有污染赃物或损伤,应由专人清洗和处理。 3.后期维护和保养

电气维修保养手册内容

目录 第一章低压配电系统概述 (1) 第二章主要设备技术指标 (2) 第三章操作手册 (2) 第四章维修手册 (3) 第五章本工程应用之备用件 (8) 第六章备件供货商资料 (9) 第七章竣工图目录 (10)

第一章低压配电系统概述 1.1支路配电系统 本工程为配电穿线由地下一层变配电室用电缆或封闭母线,采用树干式配电方式,沿强电竖井、垂直敷设到各楼层配电间,户内用电由竖井配电间内配电箱母线槽插接箱经层表箱,以放射配电方式馈出,公共区域照明由配电间内NL箱引出,分别向区内各房间供电,各房内设户箱,低压控制箱。 1.2备用电源系统 备用电源EL电。 1.3支路管线系统 支路管线布置,采用热镀锌线槽、JDG电线管布线,正常用电路采用铜芯BV导线,应急电源线路EL电采用耐火铜芯NH-BV 导线,另外较小电流量之电源点,如灯具、插座等终端用电设备,则采用电线管布置,穿BV绝缘铜芯导线。 1.4支路干线系统 1.4.1支路干线系统的布设,采用热镀锌线托盘布设电缆,正常用市电 采用ZR-YJV芯铜芯电缆,应急用电采用NH-XJV(5)芯铜芯电缆,由原有之主干线电箱配设配电小间内配电箱。 1.5电气接地系统 1.5.1强电接地低压配电系统,采用三相五线制TN-S系统,接地PE 线,由竖井配电箱干线汇流排、随馈出回路匹配馈出,配置到各个用电设备之末端。 1.5.2等电位接地系统,由竖井PE干线用25X4镀锌扁钢引出,沿公 共走道线槽沿线敷设,再用6m2多芯铜芯电线单独由25X4镀锌扁钢接至每个独立卫生间,形成专用的独立等电位接地系统。 1.5.3电气消防区域性强切系统:楼层的区域性配电箱强切系统,由消

汽车销售顾问必看【内部培训资料】

汽车销售顾问必看

前言 (2) 第一章售前准备工作 (3) 第一节产品知识 (9) 第二节消费行为 (20) 第三节自我态度与销售的核心实力 (26) 一、行业知识 (32) 二、客户利益 (33) 三、顾问形象 (34) 四、行业权威 (35) 五、沟通技能 (36) 六、客户关系 (39) 七、压力推销 (41) 第二章接近客户技巧 (44) 第一节前三分钟 (46) 第二节沟通目的 (51) 第三节亲近易懂 (54) 第三章分析客户需求 (57) 第一节购买动机 (57) 第二节客户需求 (63) 第三节客户状态 (67) 第四章产品展示 (79) 第一节客户利益 (79) 第二节体验感觉 (83) 第三节适度推销 (85)

前言 人们常说汽车是改变世界的机器。当今世界,在人们的生产、生活中可以离开汽车的活动已经不多了,而且越来越多的人类活动都被汽车改变了。人们在基本解决了吃、穿、住的问题之后的第一个发展就是行。所谓行,早就不是简单的步行,自行,已经逐渐向车行发展。这个发展趋势在中国将越来越强盛。 祝贺各位学者有机会参与一个改变中国工业格局的活动,参与一个书写中国汽车工业的历史的工作。我们绝不是在简单地销售汽车,我们是在销售生活,销售一种人类不断追求的美好生活,舒适的生活,方便的生活,有尊严,有价值的生活。同样,我们无法忽略汽车带给商业社会的变化,在改变人类生活的同时,汽车改变了人们的工作效率,改变了人们的工作方式,改变了人们的经商习惯。对于商业社会来说,对汽车的需求也不简单地是速度,效率,豪华,我们努力销售的是商业人士的气质、身份和专业性。因此,销售人员是接触客户的第一点,我们的工作不是销售这两个字可以涵盖的,我们是客户的出行顾问;是他们改变生活,改变商业机遇的运输顾问;我们是他们第一时间想到的顾问,第一时间要会谈的人;我们不是单纯的销售人员,我们是客户的购车顾问。 大家准备好了吗? 销售过程是一个非常复杂的过程,任何产品的销售都不例外,即使象油饼,豆浆的销售都可以是一种成规模的销售格局,尤其复杂的就是销售技术含量非常高的产品,如汽车。世界上许多优秀的销售大师销售的第一个产品都是汽车,如美国的顶尖销售大师齐格勒,日本的国家级销售高手本田村木;欧洲的保险销售专家德莱美隆。他们的成就都是国家级的荣誉,如果一个国家没有销售人员,它就不是商业化的现代社会的国家。这些专家几乎一致地认为,如果一个销售人员可以将汽车卖好,那么世界上就没有什么东西是他不会卖的了。 可见,卖汽车并不是简单的事情。我们面对的是完全不同的客户,这些客户在不同时间,不同状态下会有不同的需求和表现。作为销售高手,既要满足客户的需求,又要达到销售的目的;既要让不同层次的客户满意,又要为公司赢得利润;所以,

招聘工作操作指南手册

中国3000万经理人首选培训站招 聘 工 作 操 作 指 南 手 册

中国3000万经理人首选培训站 一、序言 招聘部已完成“招聘工作操作指南”的修订,希望相关人员能认真学习本“指南”的具体要求,并自觉地贯彻、落实、实施;同时也希望大家能在实施过程中,提出宝贵意见和建议,以便进一步完善和提高。 建立本“指南”的作用和目的主要是: 1、确保相关单位、部门、岗位人员,能清晰、准确、全面了解和掌握公司招聘工作的职能、运作流 程和管理规定; 2、确保公司招聘工作,上下思想、行为的统一、规范、标准化; 3、确保新员工能在最短的时间内,清晰、准确、全面了解和掌握公司招聘工作的职能、运作流程和 管理规定; 4、为新员工入职培训,提供清晰的培训教材。 如本“手册”中的规定,同公司之前所颁布制度相冲突时,以本“手册”中的要求和规定为准;本“手册”最终解释权归属集团HR部。 总裁助理兼人力资源总监: 2009.6.18

二、招聘总原则 1、聘用原则: (1)公开招聘、公平竞争、择优录用; (2)年轻化、专业化、德才兼备; (3)坚持亲属回避的原则: A、职能经理级单位(二级部门)内,所有员工间不能形成亲属关系(如**子公司市场部职系中,所有人员不得有亲属关系); B、直线、生产系统经理级单位(二级部门),干部间不能形成亲属关系(如**销售公司范围内,所有干部间不得有亲属关系); C、总监级单位(一级部门)内,不能形成总监级与经理级上下级的亲属关系; D、集团本部干部、子公司第一负责人亲属加入公司,必须报总裁批准后,方可入职。 (4)本土化、先内后外; (5)经理级(含)以上级别人员、专业人才必须要做背景调查,其它岗位根据实际情况而定。 2、定员、定岗位、定编要求 (1)每年12月份由集团人力资源部组织确认各单位下年“三定”标准; (2)编制外人员招聘计划,必须报集团人力资源部批准后方可执行; (3)岗位名称由集团人力资源部统一规划,任何单位不能随意更改。 3、用人申请、录用审批权限规定 (1)编制内用人申请审批权限: A、集团职能部门:所有人员申请由各自部门第一负责人审批后报集团招聘部,由招聘部汇整后上报集团人力资源总监批准; B、子公司:各子公司南昌地区非直线类所有岗位人员申请由各自部门第一负责人审批后报集团招聘部,由招聘部汇整后上报集团人力资源总监批准,直线类所有岗位由子公司第一负责人批准; (2)编制外用人申请审批权限: 主管级(含)以下人员申请由HR总监批准;经理级(含)以上人员由总裁/分管副总裁批准; (所有岗位编外申请先报集团组织发展部,由组织发展部汇整按相关权限上报集团领导批准后转集团招聘部招聘;) (3)人员录用审批权限: A、经理级以上人员由总裁/分管副总裁批准; B、集团职能部门主管级(含)以下人员由HR总监批准; C、子公司主管级(含)以下人员由子公司第一负责人批准。 4、招聘任务规定

电脑维修合同书(完整版)

电脑维修合同书 甲方:________________________________________ 乙方:________________________________________ 甲、乙双方本着互利互惠的原则,就甲方单位计算机的维护服务问题,经充分协商,决定订立本协议 一、合作的内容 甲方自愿将本单位的计算机交给乙方维护,具体配置见配置清单。乙方提供上门服务。合同期为____年。甲方共有计算机_____台给乙方维护,共需要维护费用¥______元(RMB)/年;在合同期内,甲方如果新增电脑,维护费用另议。该款项自合同签署后,甲方每(季度)付清商议服务款项给乙方。按(每)季度付_____元《包年》。 二、上门服务项目 服务项目描述 1.电脑各类故障检修无法启动,不能进入系统,运行速度减慢,常死机,电子邮件设置等,操作系统重装 2.各类外设维护 Modem、路由器、打印机、扫描仪 3.系统软件安装WINXP、WIN7等 4.工具软件安装及维护 Office2000、Acdsee、金山词霸等市面常用软件 5.增加及更换电脑板卡及部件 CPU、主板、内存、显卡、声卡、电源 6.电脑升级给客户最佳的升级方案,用最少的花费做到最好的性能 7.各类硬件驱动程序安装各类显卡、声卡、Modem 8.查杀电脑病毒各类电脑病毒(分区病毒、文件病毒、邮件病毒)查杀 9.数据备份、光盘或硬盘备份(所需的备份介质由客户提供) 10.各类网络维护安装网络设备安装、设置、检测,网络服务器维护(大规模的网络变动, 费用另计) 三、硬件维护的范围:电脑各类硬件维护及故障检测。 1.服务费不包含电脑部件(如显示器、光驱、网络线及板卡等)修理费用,甲方可委托乙方送修,部件修好后,乙方将为甲方送回及安装,修理费用按实际修理费收取,不另收取服务费。 2.甲方所需增加或更换的电脑部件,甲方可委托乙方代购,不另收服务费,保修期由厂

CTB产品维修手册簿

主轴电机光电编码器拆卸和安装方法 一.拆卸和安装所需工具和零件。 十字螺丝刀1把,M5、M4、M3、M2六方扳手各1把,M5X35六方螺钉1 件。 二.拆卸方法和步骤 1.拆下主轴电机后端的电机风扇罩和编码器密封盖。 2.拆开电机接线盒,拆下编码器接口板,拔下与编码器连接的电缆。 3.用M2的扳手拆下光电编码器两边的M3X8螺钉,注意保存螺钉的平垫和弹簧垫。 4.用M3扳手拆下编码器中间M4X30的螺钉。 5.用M5X35的螺钉从后端旋进编码器的空心轴,直至将编码器顶出,拆卸工作完成。三.安装方法和步骤 1.将新的编码器对准电机尾部的锥轴,轻轻压下。 2.用M3扳手将M4X30的螺钉,拧进编码器空心轴并且拧紧,以保证主轴电机运转时编码器轴与电机轴同步旋转。 3.用M2扳手将M3X8的螺钉固定码盘两侧弹性安装片,注意加装弹簧垫和平垫,防止松动。 4.插上与编码器连接的电缆,固定好接口电路板。 5.用M3扳手将密封盖安装好,注意重新装好密封圈。 6.用M5扳手将电机风扇罩和接线盒装好,码盘安装过程完成。 7.在主轴驱动器上重新调整主轴准停位置。 调试主轴电机磁码盘的方法

(使用MENC3型接口板) 1.将控制器断电,先拆开电机的接线盒,再将编码器接线盒的四个螺钉打开,此时能看到编码器电路板。(如左下脚图所示) 2.将电机后端风机罩取下,再用六角扳手将磁码盘密封盖取下,此时能看到码盘和编码器的磁检测头。 3.用0.15mm或0.20mm的塞尺放在检测头与磁盘之间,使塞尺尽量与检测头和码盘紧密接触,并保持平行。 4.插好编码器电缆,给驱动器上电,但不要让电机运转。 5.A相的调整:将万用表调到直流2V电压档,将红、黑表笔分别接到A+和A—上,调节对应A相的电位器P1,直至使A+和A—之间的电压为0V即可。 6.B相的调整:将万用表调到直流2V电压档,将红、黑表笔分别接到B+和B—,调节对应B相的电位器P2,直至使B+和B—之间的电压为0V即可。 7.Z相的调整:将万用表调到直流2V电压档,将红、黑表笔分别接到Z+和Z—,调节对应Z相的电位器P3,直至使Z+和Z—之间的电压为—0.4V左右即可。 8.调整完毕后,用气将编码器室清理干净,保证没有铁屑吸附在检测头上。 9.装好密封盖、风机和接线盒。 A、B、Z三相测试点请看下图 编码器接口板 MENC3 主轴电机编码器线号定义及示图

公司员工招聘手册

操作手册 一、招聘需求计划工作 1、原则 2、操作细则 (1 (2详见《荣盛控股股份有限公司人力资源管理流程手册》 3、注意事项 二、招聘实施工作 1、招聘实施的主要工作 2操作细则

(1)分解招聘计划 年度人力资源需求计划要根据用人时间要求分解到季度,使招聘工作有序进行,并节约人力成本。同时认真分析招聘需求人员的种类,以便选择合适的招聘渠道,达到良好的招聘效果。 (2)确定招聘渠道 ①招聘渠道分类 ②招聘渠道选择原则 (3 (4

②统一宣传材料 宣传海报、宣传册、宣讲PPT资料、统一辅助工具。 ③确定岗位说明 严格依据岗位说明书确定岗位职责和任职资格。 (5)实施招聘工作 ①简历分拣:人力资源管理部门在招聘收到简历后,应根据需要岗位任职资格要求,参照应聘者工作经历或专业知识,进行简历初选。 说明:a、简历中有以下问题的原则上不通知面试:原单位除名的员工、与任职资格要求相差较大的员工、工作变动过于频繁的员工; b、各人力资源管理部门应认真做好简历分拣工作,建立电子简历库,便于集团各公司招聘信息共享,同时避免不合格应聘者重复性面试的情况发生。 ②进行面试 a、面试前准备

己做准备的时间。一般来讲,做面试的准备工作包括以下几部分: ⑥在办公桌上摆上这个人的简历; ⑥记住名字和简历中的问题; ⑥桌上摆一个介绍公司的小册子; ⑥要注意名片的摆放位臵; ⑥熟悉维度,熟悉要问的问题; ⑥确保面试的私密性,减少干扰。 b、面试预约 ⑥自我介绍,告知对方自己的姓氏; ⑥表达真诚与善意,邀约清晰,语调上扬; ⑥明确面试地点; ⑥尊重候选人的时间选择,语气不能太刚性; ⑥初步判断候选人性向; ⑥再次确认时间(一致性压力减少爽约概率); ⑥给候选人留面试联系电话。 c、面试进行的技巧 ⑥遵循定好的面试计划; ⑥系统化地探寻问题的答案,可以运用修改、重述、跳过、发展等问话技巧; ⑥直接在面试计划上记笔记; ⑥以自然的口吻问问题; ⑥收集准确的行为表现的例子。 d、专业的结构化面试 第一,问行为表现的问题:所谓行为性的问题,着眼于事实而不是虚构,是应聘者过去做过、说过的事实,行为性问题帮助你收集候选人过去的工作表现的信息。应该采取引导、探寻、总结、直截了当或开放性问题等方式面试; 第二,做完整的记录:面试一个人,最好就给他做一份完整的面试笔记,好记性不如烂笔头,

电脑维修与维护包年协议书完整版

电脑维修与维护包年协 议书 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

电脑维修与维护协议书 甲方: 乙方:天府新区万安片区鼎胜电脑经营部 经甲方同意,指定乙方为甲方的定点采购及网络维护单位。 为了更好的做好服务工作,明确双方的责任,建立长期合作关系,本着平等互利,相互信任的原则,特订立本协议,以便共同遵守,具体协议如下 一、定点采购。 1、乙方主要为甲方提供甲方所需要的组装电脑、笔记本、平板电脑、打印机、打印纸、及其它办公、网络、数码产品及耗材。 2、乙方所提供所有产品的价格不高于成都地区同时期、同批量、同品牌的市场平均价,在与市场同等条件下,应优先在乙方处购买。具体的价格,在需要时具体再议。 3、乙方销售商品的售后服务必须符合国家的有关规定,具有制造商规定售后的起码条件,售后服务计划书有更优惠承诺条款的,按照优惠条款执行。乙方必须保证所供商品的质量,由使用单位及有关人员,对商品进行验收。 二、电脑、网络、打印机等维修 1、乙方负责甲方的电脑、网络和周边设备的日常维护,服务设备的技术指导和故障排除。确保局域网的正常访问,负责全部电脑操作系统的安装,备份;常用软件的安装;病毒的查杀。 2、甲方的电脑在出现问题时,甲方第一时间电话通知乙方,乙方及时提供必要的技术支持,如不能在电话里解决的应在标准时间内上门解决故障。 三、服务资费

1、甲方现有电脑台、打印机台,复印机台、传真机台。(资费标准见附表一) 2、维修与维护费用共元/年计。 3、合同期限:从年月日起到年月日止。 四.付款方式 1、本合同签字生效之后,包年服务款一月内付清。 2、采购物品由乙方交付后甲方确认签字,按月或季度分批次报账,由乙方 开据发票实报实销。 3、付款方式:银行转账或现金。 五.双方责任及义务 1、技术支持和维护过程中,乙方应严格依照劳动安全卫生等规定进行操作,如乙方工作人员违反劳动安全卫生法令等规定造成意外伤亡等情故,应由乙方负责。在条件允许情况下,甲方应给予乙方技术维护过程中的提供适当帮助。 2、乙方不得泄漏甲方相关工作中所涉及商业机密和内部运营方面的资料。如发现泄漏事件,甲方有权追究乙方经济赔偿责任和法律责任。 3、甲方在日常使用电脑的过程中,应做到对重要数据的及时备份,按正常的操作程序来使用电脑,如因甲方操作不当或误删除而造成的数据丢失等情况,乙方不承担任何责任,乙方在维修服务前有义务提醒甲方作好重要数据备份。 六、协议期限 1、本协议自双方签字日起有效期为一年,合约期满如无任何疑议可继续使用此合约,长期有效。 2、在合同履行过程中,因乙方未遵守价格承诺,造成甲方经济损失或严重损害甲方声誉和形象的,甲方可终止协议。

风阀产品操作维修指导手册

上虞专用风机有限公司 SHANGYU SPECIAL FANS CO.,LTD. 深圳地铁5号线工程环控系统 风阀设备采购合同 操作维修指导手册 编制:吕晓锋校对:梁利均批准:蒋洪涛 上虞专用风机有限公司 2010年5月

目录 1.执行器主要参数介绍 1.1组合风阀执行器介绍 1.2电动风量调节阀执行器介绍 1.3电动防火阀执行器介绍 1.4全电动防火执行器介绍 1.5自动防火阀执行机构介绍 2.各类风阀\防火阀执行器接线原理图 2.1 组合风阀执行机构(DKJ-310/410XG)接线端子图(见附件图1) 2.2 超快速风阀执行机构(LMQU24\NMQU24\SMQU24)接线原理图和端子图(见 附件图2) 2.3 快速风阀执行机构(LMS230\NMS230) 接线原理图和端子图(见附件图3) 2.4 电动防火阀执行机构(BF230) 接线原理图和端子图(见附件图4) 2.5 全电动防火阀执行机构(DL-Ⅷ-1)接线原理图和端子图(见附件图5) 2.6 自动防火阀两个执行机构(DL-Ⅰ)并联接线原理图和端子图(见附件图6)

1.执行器主要参数介绍 1.1组合风阀执行器主要参数介绍 深圳地铁五号线组合风阀的执行器主要选用了上海上仪仪表阀门有限公司DKJ-XG(A)型高温角行程电动执行机构(带延时报警功能)。 a.型号规格: 序号型号 输出转矩 (N.m) 行程时间 S/90° 额定电流 (A) 耐温能力 1 DKJ -310 XG 250 25 0.7 耐温250℃ 1h 2 DKJ -410 XG 600 25 1. 3 耐温250℃ 1h b.工作原理及结构说明 DKJ-XG(A)型高温角行程电动执行机构是一个由交流伺服电机为原动力的位置伺服机构,通过开关来控制机构启动或停止,带动阀门工作。 交流伺服电动机:该系列的单相伺服电动机具有较大的启动转矩,在断电瞬间能迅速制动的特性。其原理为:当电动机失电时,磁吸力消除,则借助于制动盘上的压缩弹簧的力,使制动盘和制动轮之间接合,从而产生摩擦力矩,使电动机迅速停止转动,克服惰走现象。当就地手操时,只要将电机上后端的旋转钮切到“手动”位置,即可使制动盘和制动轮脱开,进行就地手动操作执行机构上的手柄,达到开和关的目的。 减速器:将高转速、小转矩的电动机输出功率转变成低转速、大扭矩的执行机构出轴输出。本减速器系属圆柱齿轮与少齿差行星齿轮减速器的混合结构。 电器控制盒:电器控制盒主要由电机分相电容、中间过渡接线端子、行程限位开关、延时器、凸轮、底座、齿轮及对外连接的出线口组成。 延时报警说明:延时报警继电器整机出厂设定为35秒。电动执行器转角0~90°运行时间为25秒,阀门从开到关时正常无卡阻报警功能不显示。若0~90°运行中途卡阻超过35秒报警功能灯显示,这时应检查阀门运行情况,是否卡住或超出电动执行机构负载,应及时排除或更换大力矩执行器。如无上述情况应检查延时继电器设定是否小于执行机构从开到关的时间,将延时继电器作适当的延时调整到大于电动执行机构全开到全关时间之外。 c. 电动执行机构的使用要求

企业人力资源管理人员实操手册

企业人力资源管理人员 实操手册 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

人力资源管理人员操作手册

目录

第一章手册的目的 一. 公司在人力资源管理方面致力于达成以下目标: 1构筑先进合理的人力资源管理体系,体现“以人为本”的理念,在使用中培养和开发员工,使员工与企业共同成长。 2保持公司内部各企业在人事制度和程序的统一性和一致性。保持人力资源系统的专业水平和道德标准。 3保证各项人事规章制度符合国家和地方的有关规定。 二. 为达到上述目标,公司人力资源部编制本手册,以此规范和指导有关人力资源方 面的政策和程序。 三. 公司人力资源部是负责制订及实施有关人力资源政策和程序的部门。 四. 本手册将根据实践的发展不断充实和修订。人力资源部热忱欢迎员工和各分支机 构提出修改意见。

第二章人力资源部的工作职责 一. 核心职能:作为公司人力资源的管理部门,选拔、配置、开发、考核和培养公司 所需的各类人才,制订并实施各项薪酬福利政策及员工职业生涯计划,调动员工积极性,激发员工潜能,对公司持续长久发展负责。 二. 工作职责: 1制度建设与管理 A制订公司中长期人才战略规划; B制订公司人事管理制度,总分公司人事管理权限与工作流程,组织、协调、监督制度和流程的落实。 C核定公司年度人员需求计划、确定各机构年度人员编制计划; D定期进行市场薪酬水平调研,提供决策参考依据; E指导、协助员工做好职业生涯规划。 2机构管理 A配合相关部门,做好分支机构选点调研、人才储备、筹备设立等方面工作; B公司系统各级机构的设置、合并、更名、撤销等管理; C制订公司机构、部门和人员岗位职责; D公司及分支机构高级管理人员的考察、聘任、考核、交流与解聘管理; E监督、检查与指导分支机构人事部工作。 3人事管理 A员工招聘、入职、考核、调动、离职管理。 B公司后备干部的选拔、考察、建档及培养; C公司干部和员工的人事档案、劳动合同管理; D协助组织各专业序列技术职务的考试与评聘; E提供各类人力资源数据分统计及析; F管理并组织实施公司员工的业绩考核工作。 4薪酬福利管理 A制订并监控公司系统薪酬成本的预算; B核定、发放总公司员工工资,核定分支机构领导班子成员及人事、财务人员的工资;

电脑维修部规章制度

电脑维修部规章制度 【篇一:计算机,设备维护维修管理制度】 计算机设备维护维修管理制度 为了有效地管理和使用学校的计算机设备,使现代办公设备在学校的教育教学中充分发挥作用,特制订本制度: 一、全校计算机要及时除尘,在计算机使用、网络运行、软件运用等方面遇到问题,发现故障时应及时与信息技术办公室联系。 2、涉及硬件的专业性维修,由教师填写《学校计算机维护维修申请表》后,校领导签字同意后,联系相关维修部门进行维修。 三、根据登记的先后顺序和工作的缓急程度,区分不同故障类型和维护性质,进行维护。 四、教师办公用计算机不得在c盘上保存资料,否则若资料丢失,责任自负。 五、维护完成后,维护人员应当写清楚故障原因及处理结果,由教师签字或盖章,并写清维护时间,存档备查。 六、附: 《学校计算机维护维修申请表》《学校计算机维护维修登记表》 110 学校计算机维护维修登记表 经办教师: 学校计算机维护维修登记表 经办教师: 111 学校计算机维护维修申请表 经办教师: 学校计算机维护维修申请表 经办教师: 112 【篇二:电脑维修公司员工管理手册】 一、总则: 为了满足公司发展的需要,为了不断提高服务意识,以赢得客户的满意,特制定本守则,希望各位员工遵守。 二、仪容仪表

1.员工上岗时必须穿戴整齐,有工作服及胸卡的要穿戴上岗,不允 许穿拖鞋、布鞋、露脚趾凉鞋、奇型怪状服饰等。 2.员工工作时间必须讲普通话,言语要有礼貌并简洁明了,不允许 讲不文明语言,跟客户沟通时,不管客户出现什么不礼貌的言语, 均不能用不礼貌的语言回击。 3.上岗时员工须保持良好的个人卫生,班前不得饮酒及使用刺激性 气味食品。 三、行为规范 1.员工按照公司规定的时间上下班并签到 2.员工在岗期间,不准看非工作性的报纸、杂志及网站,不准玩游 戏看电影等处理与工作无关的事情。 3.员工须按规定及时上交在公司内拾到的任何物品 4.员工不准向外界透露公司的经营计划、客户情况、数据、资料等 任何有关公司的机密材料,不准故意将个人电话及联系方式留给客户。 5.员工如遇特殊情况不能到岗上班,须提前按公司规定的请假程序 办理请假手续。 6.员工个人收入、各种报销、福利等不得向他人告知。 7.员工要及时、准确、迅速完成公司交代的工作任务,如遇紧急及 特殊情况及时与公司及客户沟通,在自己职权范围以外的任何事情 均不能擅自做主。 8.员工工作时要严格按照《维修规范》及《作业指导书》的规定进 行作业,遵守各自部门的相关规定。 9.员工住址和电话及紧急联系人等个人情况发生变化时,应及时通 知公司。 10.不能遵守以上员工守则的,将按照相关规定给予一定的处罚。四:统一服务 1.收到维修派单后先联系客户,预约上门服务时间,进行客户地址 核对,询问客户电脑故障现象,根据故障带好所更换的配件,到达 客户家中需要先敲门,告诉客户我是长沙顺维电脑维修公司的维修 工程师,礼貌的问客户是不是电脑需要维修,征得客户同意后方可 进入客户家或办公室,并询问客户需不需要换鞋,要换鞋的话使用 公司发放的一次性鞋套。 2.在给客户维修电脑时应该主动与客户进行沟通,挖掘客户一些隐 性需求,系统坏了的话告知客户是因为未安装杀毒软件或安装的杀

相关主题