<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<meta name="format-detection" content="telephone=no">
		<title>使用Spring Data JPA访问MySQL-思洋互动</title>
		<meta name="keywords" content="使用Spring Data JPA访问MySQL">
	    <meta name="description" content="在数据访问这章的第一篇文章《Spring中运用JdbcTemplate访问数据库》中，我们现已介绍了怎么运用SpringBoot中最根本的jdbc模块来完结联络型数据库的数据读写操作。那么结合Web开发一章的内...">
		<meta name="renderer" content="webkit" />
		<link href="/css/main.css?v=39" rel="stylesheet">
		<link href="/css/base.css?v=39" rel="stylesheet">
        <link href="/css/swiper-3.4.2.min.css" rel="stylesheet">
		<script type="text/javascript" src="/js/jquery.min.js"></script>
        <script type="text/javascript" src="/js/swiper-3.4.2.min.js"></script>
		<!--[if lt IE 9]>
            <script src="/js/html5shiv.min.js"></script>
            <script src="/js/respond.min.js"></script>
            <link href="/css/ie.css" rel="stylesheet">
        <![endif]-->
		<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8914d517c927d8e794148d05e387fb17";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<link rel="canonical" href="https://www.ciya.cn/article/3690.html">
		</head>
	<body class="no-banner">
		<div class="container">
			<div class="header">
	<div class="header-top">
		<div class="w1700">
			<a href="https://www.ciya.cn/"><img src="/images/logo.png?v=2"></a>
		</div>
	</div>
	<div class="header_b">
		<header class="slide">
			<div id="navToggle" class="menu-handler">
				<span class="burger burger-1 trans"></span>
				<span class="burger burger-2 trans-fast"></span>
				<span class="burger burger-3 trans"></span>
			</div>
		</header>
	</div>
	<nav class="slide">
		<div class="w1700">
			<a class="index" href="/"></a>
			<ul>
								<li><a href="https://www.ciya.cn/case/12.html">项目案例</a></li>
								<li><a href="https://www.ciya.cn/website/9.html">网站建设</a></li>
								<li><a href="https://www.ciya.cn/marketing/10.html">网络营销</a></li>
								<li><a href="https://www.ciya.cn/media/11.html">新媒体</a></li>
								<li class="active"><a href="https://www.ciya.cn/news/16.html">动态</a></li>
								<li><a href="https://www.ciya.cn/about/8.html">关于</a></li>
								<li><a href="https://www.ciya.cn/contact/13.html">联系</a></li>
							</ul>
		</div>
	</nav>
</div>            <div class="content slide">
                <div class="position bgf1">
                    <div class="w1700">
                        <a href="https://www.ciya.cn/">首页 ></a>
                        <a href="https://www.ciya.cn/news/16.html">动态 ></a>
                        <a href="https://www.ciya.cn/news/35.html">网站知识</a>
                    </div>
                </div>
                <div class="case-type">
                    <div class="w1700">
                                                <a href="https://www.ciya.cn/news/32.html" >品牌合作</a>
                                                <a href="https://www.ciya.cn/news/31.html" >新闻动态</a>
                                                <a href="https://www.ciya.cn/news/38.html" >网站建设</a>
                                                <a href="https://www.ciya.cn/news/41.html" >网站制作</a>
                                                <a href="https://www.ciya.cn/news/40.html" >网站设计</a>
                                                <a href="https://www.ciya.cn/news/42.html" >运营推广</a>
                                                <a href="https://www.ciya.cn/news/35.html"  class="active">网站知识</a>
                                            </div>
                </div>
                <div class="padding-tb80">
                    <div class="w1700 clear">
                        <div class="fl xwxq-l">
                            <div class="noselettext">
                                <div class="xwxq-title mg-bt60 wow slideUp">
                                    <h1 class="mg-bt35">使用Spring Data JPA访问MySQL</h1>
                                    <span>时间：2023-05-16</span>
                                </div>
                                <div class="edit2 mg-bt60 wow slideUp">
                                                                        <p>在数据访问这章的第一篇文章《Spring中运用JdbcTemplate访问数据库》中，我们现已介绍了怎么运用SpringBoot中最根本的jdbc模块来完结联络型数据库的数据读写操作。那么结合Web开发一章的内容，我们就能够利用JDBC模块与Web模块的功用，综合着运用来完结一个适用于许多简略运用场景的后端运用了。<br />
然而当我们有必定的开发经验之后，不难发现，在实践开发过程中，对数据库的操作大多能够归结为：“增修改查”。就最为普遍的单表操作而言，除了表和字段不同外，句子简直都是相似的，开发人员需求写许多相似而单调的句子来完结业务逻辑。<br />
为了处理这些许多单调的数据操作句子，诞生了非常多的优异结构，比方：Hibernate。经过整合Hibernate，我们能够以操作Java实体的方法来完结对数据的操作，经过结构的协助，对Java实体的改动最终将自动地映射到数据库表中。<br />
在Hibernate的协助下，Java实体映射到数据库表数据完结之后，再进一步处理笼统各个Java实体根本的“增修改查”操作，我们通常会以泛型的方法封装一个模板Dao来进行笼统简化，但是这样依然不是很便利，我们需求针对每个实体编写一个承继自泛型模板Dao的接口，再编写该接口的完结。尽管一些基础的数据访问现已能够得到很好的复用，但是在代码结构上针对每个实体都会有一堆Dao的接口和完结。<br />
因为模板Dao的完结，使得这些具体实体的Dao层现已变的非常“薄”，有一些具体实体的Dao完结或许彻底便是对模板Dao的简略代理，而且往往这样的完结类或许会呈现在许多实体上。SpringDataJPA的呈现正能够让这样一个现已很“薄”的数据访问层变成仅仅一层接口的编写方法。比方，下面的比方：<img class="aligncenter  wp-image-4925" src="https://zzzjtd.com/wp-content/uploads/2019/08/221.png" alt="Java" width="523" height="294" /><br />
publicinterfaceUserRepositoryextendsJpaRepository&lt;User,Long&gt;{UserfindByName(Stringname);@Query(&#8220;fromUseruwhereu.name=:name&#8221;)UserfindUser(@Param(&#8220;name&#8221;)Stringname);<br />
}<br />
我们只需求经过编写一个承继自JpaRepository的接口就能完结数据访问，下面以一个具体实例来体验SpringDataJPA给我们带来的强壮功用。<br />
运用过程<br />
因为SpringDataJPA依赖于Hibernate。假如您对Hibernate有必定了解，下面内容能够毫不费力的看懂并上手运用它。假如您还是Hibernate新手，您能够先按如下方法入门，再建议回头学习一下Hibernate以协助这部分的理解和进一步运用。<br />
工程配备<br />
在pom.xml中增加相关依赖，加入以下内容：<br />
&lt;dependency&lt;groupId&gt;org.springframework.bootgroupId&gt;&lt;artifactId&gt;spring-boot-starter-data-jpaartifactId&gt;dependency&gt;<br />
在application.xml中配备：数据库衔接信息（如运用嵌入式数据库则不需求）、自动创建表结构的设置，例如运用mysql的状况如下：<br />
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=root<br />
spring.datasource.password=<br />
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver<br />
spring.jpa.properties.hibernate.hbm2ddl.auto=create-drop<br />
spring.jpa.properties.hibernate.hbm2ddl.auto是hibernate的配备特色，其首要作用是：自动创建、更新、验证数据库表结构。该参数的几种配备如下：<br />
create：每次加载hibernate时都会删去上一次的生成的表，然后根据你的model类再从头来生成新表，哪怕两次没有任何改动也要这样履行，这便是导致数据库表数据丢失的一个重要原因。<br />
create-drop：每次加载hibernate时根据model类生成表，但是sessionFactory一关闭,表就自动删去。<br />
update：最常用的特色，第一次加载hibernate时根据model类会自动树立起表的结构（条件是先树立好数据库），今后加载hibernate时根据model类自动更新表结构，即便表结构改动了但表中的行仍然存在不会删去曾经的行。要注意的是当布置到服务器后，表结构是不会被马上树立起来的，是要等运用第一次运转起来后才会。<br />
validate：每次加载hibernate时，验证创建数据库表结构，只会和数据库中的表进行比较，不会创建新表，但是会刺进新值。<br />
至此现已完结基础配备，假如您有在Spring下整合运用过它的话，相信你现已感受到SpringBoot的便利之处：JPA的传统配备在persistence.xml文件中，但是这儿我们不需求。当然，最好在构建项目时分按照之条件过的最佳实践的工程结构来安排，这样以确保各种配备都能被结构扫描到。<br />
创建实体<br />
创建一个User实体，包含id（主键）、name（名字）、age（年纪）特色，经过ORM结构其会被映射到数据库表中，因为配备了hibernate.hbm2ddl.auto，在运用发动的时分结构会自动去数据库中创建对应的表。<br />
@Entity@Data@NoArgsConstructorpublicclassUser{@Id@GeneratedValueprivateLongid;privateStringname;privateIntegerage;publicUser(Stringname,Integerage){this.name=name;this.age=age;<br />
}<br />
}<br />
@Entity注解标识了User类是一个耐久化的实体<br />
@Data和@NoArgsConstructor是Lombok中的注解。用来自动生成各参数的Set、Get函数以及不带参数的结构函数。假如您对Lombok还不了解，能够看看这篇文章：Java开发神器Lombok的运用与原理<br />
@Id和@GeneratedValue用来标识User对应对应数据库表中的主键<br />
注意：除了这些注解之外，还有许多用来精细化配备映射联络的注解，这儿不做具体介绍。后续会出专门一篇来介绍常用注解。读者也能够自行阅览Hibernate的文档来学习这些注解的具体运用方法。<br />
创建数据访问接口<br />
下面针对User实体创建对应的Repository接口完结对该实体的数据访问，如下代码：<br />
publicinterfaceUserRepositoryextendsJpaRepository&lt;User,Long&gt;{UserfindByName(Stringname);UserfindByNameAndAge(Stringname,Integerage);@Query(&#8220;fromUseruwhereu.name=:name&#8221;)UserfindUser(@Param(&#8220;name&#8221;)Stringname);<br />
}<br />
在SpringDataJPA中，只需求编写相似上面这样的接口就可完结数据访问。不再像我们以往编写了接口时分还需求自己编写接口完结类，直接减少了我们的文件清单。<br />
下面对上面的UserRepository做一些解释，该接口承继自JpaRepository，经过查看JpaRepository接口的API文档，能够看到该接口本身现已完结了创建（save）、更新（save）、删去（delete）、查询（findAll、findOne）等根本操作的函数，因此关于这些基础操作的数据访问就不需求开发者再自己定义。<br />
在我们实践开发中，JpaRepository接口定义的接口往往还不行或许功能不行优化，我们需求进一步完结更杂乱一些的查询或操作。因为本文重点在SpringBoot中整合spring-data-jpa，在这儿先抛砖引玉简略介绍一下spring-data-jpa中让我们兴奋的功用，后续再单独开篇讲一下spring-data-jpa中的常见运用。<br />
在上例中，我们能够看到下面两个函数：<br />
UserfindByName(Stringname)<br />
UserfindByNameAndAge(Stringname,Integerage)<br />
它们分别完结了按name查询User实体和按name和age查询User实体，能够看到我们这儿没有任何类SQL句子就完结了两个条件查询方法。这便是Spring-data-jpa的一大特性：经过解析方法名创建查询。<br />
除了经过解析方法名来创建查询外，它也提供经过运用@Query注解来创建查询，您只需求编写JPQL句子，并经过相似“:name”来映射@Param指定的参数，就像比方中的第三个findUser函数相同。<br />
SpringDataJPA的能力远不止本文说到的这些，因为本文首要以整合介绍为主，关于SpringDataJPA的运用仅仅介绍了常见的运用方法。比方@Modifying操作、分页排序、原生SQL支持以及与SpringMVC的结合运用等等内容就不在本文中具体打开，这儿先挖个坑，后续再补文章填坑，如您对这些感兴趣能够重视我博客或简书，同样欢迎大家留言沟通想法。<br />
单元测验<br />
在完结了上面的数据访问接口之后，按照常规便是编写对应的单元测验来验证编写的内容是否正确。这儿就不多做介绍，首要经过数据操作和查询来反复验证操作的正确性。<br />
@RunWith(SpringRunner.class)@SpringBootTestpublicclassApplicationTests{@AutowiredprivateUserRepositoryuserRepository;@Testpublicvoidtest()throwsException{//创建10条记载userRepository.save(newUser(&#8220;AAA&#8221;,10));<br />
userRepository.save(newUser(&#8220;BBB&#8221;,20));<br />
userRepository.save(newUser(&#8220;CCC&#8221;,30));<br />
userRepository.save(newUser(&#8220;DDD&#8221;,40));<br />
userRepository.save(newUser(&#8220;EEE&#8221;,50));<br />
userRepository.save(newUser(&#8220;FFF&#8221;,60));<br />
userRepository.save(newUser(&#8220;GGG&#8221;,70));<br />
userRepository.save(newUser(&#8220;HHH&#8221;,80));<br />
userRepository.save(newUser(&#8220;III&#8221;,90));<br />
userRepository.save(newUser(&#8220;JJJ&#8221;,100));//测验findAll,查询一切记载Assert.assertEquals(10,userRepository.findAll().size());//测验findByName,查询名字为FFF的UserAssert.assertEquals(60,userRepository.findByName(&#8220;FFF&#8221;).getAge().longValue());//测验findUser,查询名字为FFF的UserAssert.assertEquals(60,userRepository.findUser(&#8220;FFF&#8221;).getAge().longValue());//测验findByNameAndAge,查询名字为FFF而且年纪为60的UserAssert.assertEquals(&#8220;FFF&#8221;,userRepository.findByNameAndAge(&#8220;FFF&#8221;,60).getName());//测验删去名字为AAA的UseruserRepository.delete(userRepository.findByName(&#8220;AAA&#8221;));//测验findAll,查询一切记载,验证上面的删去是否成功Assert.assertEquals(9,userRepository.findAll().size());<br />
}<br />
}<br />
拓宽阅览：关于SpringData<br />
SpringDataJPA在Spring家族中实践上是一个二级项目，它隶属于SpringData这个尖端项目。读者能够看一下关于这个项目的介绍，它除了涵盖对联络型数据库的笼统之外，其实还有许多对其他数据存储中间件的完结，比方我们常用的Redis、MongoDB、Elasticsearch等。<br />
假如再找几个项目看一下它们的简略示例，你会发现：不管你是要访问什么数据存储产品，它们的编码方法简直都是相同的！这便是SpringData这个项目充满魅力的地方！经过对数据访问操作的笼统来屏蔽细节，用不同子项目的方法去完结细节。让开发者只需求学会运用SpringData，就能便利方便的学会对各种数据存储的操作。所以，关于SpringData，我是强烈推荐Java开发者们能够学、甚至读一下源码的重要结构。尽管，现在来说许多大型互联网公司并不会选择它（功能考量居多，能真正用好它的人不多）作为首要的开发结构，但是其背后的笼统思想对错常值得我们学习的。而且，在做一些非高并发项目的时分，这简直便是一个方便开发神器，它能够协助我们少写非常多的代码！</p>


		
										                                </div>
                            </div>
                                                        <div class="wzbq wow slideUp mg-bt30">
                                <span>文章标签：</span>
                                <div class="bqnr">
                                                                                                             <a href="https://www.ciya.cn/tags/website-building/">网站建设</a>
                                                                                                                                                                                                                                                                                                                                                                    </div>
                            </div>
                                                        <div class="xwxq-bot bgf1 wow slideUp">
                                <div class="xwxq-fy clear">
                                    <a class="fl" href="/article/3691.html"><i></i>数字类格式、随机数、BigDecimal</a>
                                    <a class="fr" href="/article/3689.html"><i></i>CH07 复用类</a>
                                </div>
                                <a class="fhlb" href="#"></a>
                            </div>
                        </div>
                        <div class="fr xwxq-r">
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title mg-bt30">
                                        <h3>最新案例</h3><span>LATEST CASES</span>
                                    </div>
                                    <div class="zxal">
                                        <div class="swiper-container">
                                            <div class="swiper-wrapper">
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/409.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214103120.jpg" alt="广州呼吸研究院"/></div>
                                                            <p>广州呼吸研究院</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/433.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102846.jpg" alt="融创集团"/></div>
                                                            <p>融创集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/268.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102923.jpg" alt="粤海集团"/></div>
                                                            <p>粤海集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/414.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211216/20211216115258.jpg" alt="恒大足球学校"/></div>
                                                            <p>恒大足球学校</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/477.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102958.jpg" alt="侨鑫集团"/></div>
                                                            <p>侨鑫集团</p>
                                                        </a>
                                                    </div>
                                                                                                </div>
                                        </div>
                                        <div class="zxalDot text-center swiperDot"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>热点新闻</h3><span>TOP NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/3559.html">1  java heap space(解决方法)</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1222.html">2  如何在网站后台上传附件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1643.html">3  如何在网站后台上传PDF文件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1142.html">4  什么是流？</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/3543.html">5  java swing还有人用吗(swing为什么会被淘汰)</a></li>
                                                                            </ul>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>最新动态</h3><span>NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/7318.html">1  商务网站的维护与更新：持续优化，保持竞争力</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7317.html">2  商务网站的社交媒体营销：扩大品牌影响力，吸引更多潜在客户</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7316.html">3  商务网站的广告投放：增加收益，提高知名度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7315.html">4  商务网站的在线客户服务：提供优质客服，提升用户满意度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7314.html">5  商务网站的支付系统集成：安全、便捷的交易方式</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7313.html">6  商务网站搜索引擎优化（SEO）：提升排名，增加流量</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7312.html">7  商务网站响应式设计：实现多设备兼容，提升用户体验</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7311.html">8  商务网站开发：选择合适的编程语言和技术栈</a></li>
                                                                            </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="footerbox">
	<div class="footer">
		<div class="w1700">
			<ul>
				<li>
					<span class="fttitle">思洋 · 广州总部</span>
					<div>
						<p>广州天河区珠江新城富力盈力大厦北塔2706</p>
						<p>020-38013166（网站咨询专线）</p>
					</div>
					<p>400-001-5281 （售后服务热线）</p>
				</li>
				<li>
					<span class="fttitle">思洋 · 深圳</span>
					<div>
						<p>深圳市坂田十二橡树庄园F1-7栋</p>
						<p>Site/ http://www.szciya.com </p>
						<p>E-mail/ itciya@vip.163.com</p>
					</div>
					<p>品牌服务专线：400-001-5281 </p>
				</li>
				<li>
					<span class="fttitle">思洋 · 湖南</span>
					<div>
						<p>长沙市天心区芙蓉中路三段398号新时空大厦5楼</p>
						<p>联系电话/ (+86 0731)88282200</p>
					</div>
					<p>品牌服务专线/ 400-966-8830</p>
				</li>
				<li class="lastli">
					<p class="mt10">旗下运营网站：</p>
					<div class="mt10">
						<img src="/images/ftlogo2.png">
						<img src="/images/gogo.png">
						<img src="/images/ftlogo3.png">
						<img src="/images/ftlogo4.png">
						<img src="/images/ftlogo11.png">
					</div>
				</li>
			</ul>
		</div>
	</div>
	<div class="ft_bottom">
		<div class="w1700">
			<p class="cop">Copyright © 2016 广州思洋文化传播有限公司，保留所有权利。 <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备09033321号</a>
			</p>
		</div>
	</div>
</div>
<div class="le-box active">
	<div class="t show780">
		<a href="tel:13570966600">
			<img src="/images/ml9-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml9-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
	<div class="t">
		<img src="/images/ml1-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml1-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qr.jpg" alt="与项目经理交流">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<div class="t">
		<img src="/images/ml2-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml2-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qq001.jpg" alt="">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<!--<div class="t">-->
		<!--<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=1607245872&amp;site=ciya.cn&amp;menu=yes" target="_blank">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="sow i">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="iove i">-->
		<!--</a>-->
	<!--</div>-->
	<div class="t hide780">
		<a href="https://affim.baidu.com/unique_510425/chat?siteId=19536215&userId=510425&siteToken=8914d517c927d8e794148d05e387fb17" target="_blank">
			<img src="/images/ml3-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml3-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
</div>
<script>
	$(window).scroll(function(){
//		if($(window).scrollTop()>200){
//			$(".le-box").addClass("active");
//		}else{
//			$(".le-box").removeClass("active");
//		}
	})
</script>
<div class="wap_fx">
	<a href="tel:13570966600" class="phone"></a>
	<a href="mqqwpa://im/chat?chat_type=wpa&uin=1607245872&version=1&src_type=web&web_src=ciya.cn" target="_blank" class="qq"></a>
	<a href="javascript:;" class="wx2"></a>
	<a class="kef986" style="background:rgba(0,0,0,.6) url(/images/ml3-1.png?v=1) no-repeat center;background-size: cover;border-radius: 4px;" href="https://p.qiao.baidu.com/cps/chat?siteId=18513940&userId=510425&siteToken=e5e1bde478969b43bf99b7703a694c0b" target="_blank"></a>
</div>
<div class="wap-wxcode">
	<div class="middle-box">
		<div class="middle-inner">
			<div class="wap-wxcode-con">
				<img src="/images/ff_ewm.jpg" alt=""/>
				<div class="wap-wxcode-bot"><span class="wxname">ciya68</span><button class="copy-btn" data-clipboard-text="ciya68">点击复制</button></div>
				<div class="gb1002"></div>
			</div>
		</div>
	</div>
</div>
<input id="hide" type="hidden">
<script src="/js/clipboard.min.js"></script>
<script>
	$(function(){
		$(".wx2").click(function(){
			$(".wap-wxcode").show();
		});
		$(".gb1002").click(function(){
			$(".wap-wxcode").hide();
		});
		var copyBtn=new ClipboardJS('.copy-btn');
		copyBtn.on("success",function(e){
			// 复制成功
			// alert(e.text);
			showMessage('已成功复制微信号','success',2000)
			e.clearSelection();
		});
		copyBtn.on("error",function(e){
			//复制失败；
			showMessage('复制微信号失败','error',2000)
			console.log( e.action )
		});
		function showMessage(message,type,time) {
			let str = ''
			switch (type) {
				case 'success':
					str = '<div class="success-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color:#fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
					break;
				case 'error':
					str = '<div class="error-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color: #fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
			}
			$('body').append(str)
			setTimeout(function () {
				$('.'+type+'-message').remove()
			},time)
		}


		var ua = navigator.userAgent.toLowerCase();
		var isWeixin = ua.indexOf('micromessenger')!= -1;
		if(isWeixin){
			$(".kef986").hide();
		}

	})
</script>
            </div>
        </div>
		<script type="text/javascript" src="/js/trunk.js?v=2"></script>
        <script>
            var zxal=null;
            var len=$(".zxal .swiper-slide").length;
            if(len>1){
                zxal = new Swiper('.zxal .swiper-container',{
                    speed:600,
                    loop:true,
                    autoplay : 5000,
                    autoplayDisableOnInteraction : false,
                    pagination : '.zxalDot',
                    paginationClickable :true,
                })
            }else{
                $(".zxalDot").hide();
            }
        </script>
	</body>
</html>

