springboot连接mysql

实现的环境

      1.windows上MySQL的安装:https://blog.csdn.net/Y_FC_EMBEDD/article/details/95724676

      2.eclipse的使用(jdk,maven工程,springboot框架)

      3.连接网络

第一步:在pom.xml中添加依赖的jar包

        <!--对数据库的支持-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        
        <!--数据库mysql的支持  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
		<!--jackson支持  -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-joda</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-parameter-names</artifactId>
        </dependency>
		<!--阿里开源最好用的数据库连接池-->
		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.0</version>
        </dependency>
        
        <!--mybatis与springboot整合-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!--通用mapper,tk.mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.1.4</version>
        </dependency>
        <!-- 通用Mapper -->
		<dependency>
			<groupId>com.github.abel533</groupId>
			<artifactId>mapper</artifactId>
			<version>2.3.2</version>
		</dependency>
        <!--pagehelper-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.1.3</version>
        </dependency>
		<!-- 读取配置文件相关 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        
        <!-- Apache工具组件 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.3.2</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-solr</artifactId>
			 <version>2.1.1.RELEASE</version>
		</dependency>

第二步:在application.propreties文件中添加mysql的配置信息

#conf mysql connet
spring.jpa.database = MYSQL
spring.datasource.url = jdbc:mysql://localhost:3306/hadoop?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
spring.datasource.username =root
spring.datasource.password =root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true
mybatis.typeAliasesPackage=com.hadoop.monitor.bean
mybatis.mapperLocations=classpath:mappers/*.xml
mybatis.configuration.mapUnderscoreToCamelCase=true
mybatis.configuration.cacheEnabled=false

第三步:在启动类上添加注解@MapperScan("com.hadoop.monitor.mapper"),用来扫描mapper接口

第四步:创建MyMapper接口,特别注意,这个接口不能让启动类扫描到,否则会报错

比如在com.hadoop.monitor.mapperobj这个包下创建MyMapper接口,注意接口上边不能放注解。

package com.hadoop.monitor.mapperobj;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
	//TODO tk.mybatis.mapper.provider.EmptyProvider
    //FIXME 特别注意,该接口不能被扫描到,否则会出错
	
}

 第五步:创建com.hadoop.monitor.mapper包,并编写接口,继承第四步创建的接口,编写需要提供的方法

package com.hadoop.monitor.mapper;

import java.util.List;

import com.hadoop.monitor.bean.ClusterInfo;
import com.hadoop.monitor.mapperobj.MyMapper;


public interface ClustersInfoMapper extends MyMapper<ClusterInfo> {
	/** 获取单个指定集群clusterId的信息*/
	public List<ClusterInfo> queryClusterInfo(String clusterId);
	
	/** 获取所有集群的信息*/
	public List<ClusterInfo> queryAllClusterInfo();
}

这里用到了ClusterInfo类,这个类是用来存储集群信息的类,也和mysql数据库中的表信息对应,具体代码如下:

package com.hadoop.monitor.bean;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.hadoop.monitor.po.BasePojo;

@Table(name="cluster_info")
@JsonIgnoreProperties(ignoreUnknown=true)
public class ClusterInfo extends BasePojo {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private String clusterId;
	private String clusterIp;
	private Integer clusterPort;
	public String getClusterId() {
		return clusterId;
	}
	public void setClusterId(String clusterId) {
		this.clusterId = clusterId;
	}
	public String getClusterIp() {
		return clusterIp;
	}
	public void setClusterIp(String clusterIp) {
		this.clusterIp = clusterIp;
	}
	public Integer getClusterPort() {
		return clusterPort;
	}
	public void setClusterPort(Integer clusterPort) {
		this.clusterPort = clusterPort;
	}
	
	
}

@Table(name="cluster_info")   对应数据库中的表名信息

@Id   对应表中字段为主键

其他的是get和set方法。

在ClusterInfo类上,是继承了BasePojo类(自定义类),这个类是用来序列化的。

package com.hadoop.monitor.po;

import java.io.Serializable;
import java.util.Date;

import org.apache.solr.client.solrj.beans.Field;

//pojo基类,完成2个任务,2个日期,实现序列化
public class BasePojo implements Serializable {
	private static final long serialVersionUID = 1L;
	@Field
	private Date created;
	@Field
	private Date updated;
	public Date getCreated() {
		return created;
	}
	public void setCreated(Date created) {
		this.created = created;
	}
	public Date getUpdated() {
		return updated;
	}
	public void setUpdated(Date updated) {
		this.updated = updated;
	}
}

第六步:编写实现接口的xml代码,这里的xml文件要和application.properties文件中的配置信息一致

mybatis.mapperLocations=classpath:mappers/*.xml

在src/main/resources路径下创建mappers文件夹,并创建ClustersInfoMapper.xml文件,注意!!!这里的xml文件名一定要和

com.hadoop.monitor.mapper包下的接口名一致,否则会出错。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.hadoop.monitor.mapper.ClustersInfoMapper">
 	<select id="queryClusterInfo"
			parameterType="String"
			resultType="ClusterInfo">
		select * from cluster_info where cluster_id=#{clusterId}
 	</select>
 	
 	<select id="queryAllClusterInfo"
			resultType="ClusterInfo">
		select * from cluster_info
 	</select>
 </mapper>

上面mapper标签中的namespace="com.hadoop.monitor.mapper.ClustersInfoMapper"一定要填写正确,可以按住Ctrl键,然后光标移动到这个位置,看看会不会有下划线出现,有则表明正确。

select标签的id属性是ClustersInfoMapper接口中的方法名queryClusterInfo,

select标签的parameterType属性是ClustersInfoMapper接口中queryClusterInfo()方法的参数类型,

select标签的resultType属性是ClustersInfoMapper接口中queryClusterInfo()方法的返回值类型。

第七步:在service函数中调用这个接口的方法,验证代码是否正确

1.声明接口的变量

2.利用变量调用接口中的方法

List<ClusterInfo> queryAllClusterInfo = clustersInfoMappper.queryAllClusterInfo();

调试,知道运行正常并返回预期的结果,ok结束!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值