springboot/springcloud整合mybatis(mysql)

1、导入相关jar包

<!-- mysql客户端 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.version}</version>
</dependency>
<!-- 阿里的数据库连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>${druid.version}</version>
</dependency>
<!-- spring boot对mybatis的支持 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>${mybatis-springboot.version}</version>
</dependency>

2、配置application.yml文件

# config port
server:
  port: 9009

#config mysql
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localht:3306/test?useSSL=false
    username: root
    password: root
  application:
    name: demo-service-core

#config mybatis
mybatis:
  mapper-locations: classpath:mapper/*.xml
# mybatis配置文件所在路径
  config-location: classpath:mybatis.cfg.xml

eureka:
  client:
    serviceUrl:
      defaultZone: http://${spring.cloud.client.ipAddress}:1111/eureka/,http://${spring.cloud.client.ipAddress}:1112/eureka/    # 注册中心地址  EUREKA_HOME
  instance:
    hostname: ${spring.cloud.client.ipAddress}
    prefer-ip-address: true     # 在地址栏上使用IP地址进行显示
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}

3、编写dao接口

/**
 * FileName: UserDao
 * Date:     2018/12/4 17:53
 * Description: 用户数据库操作接接口
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.XXXX.demo.core.dao;

import com.XXXX.demo.api.pojo.UserDo;
import com.XXXX.demo.api.vo.UserVo;
import com.XXXX.demo.common.interfaces.BaseDao;
import org.springframework.stereotype.Repository;

/**
 * 〈一句话功能简述〉<br> 
 * @create 2018/12/4
 * @since 1.0.0
 */
@Repository
public interface UserDao extends BaseDao<UserDo, UserVo> {

    /**
     * 根据用户名查询用户信息
     * @prama name 用户名
     * @return UserVo 用户实体Vo
     * @date 2018/12/5 16:47
     */
    public UserVo findByName(String name);

}


4、编写dao.xml

<?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.cnbi.demo.core.dao.UserDao">

    <!--userMap映射关系-->
    <resultMap id="userMap" type="userVo">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="roleName" column="role_name"/>
        <result property="password" column="password"/>
    </resultMap>

    <!--插入-->
    <insert id="save" parameterType="userDo" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO
            user(id,name,password,role_name)
        VALUES
            (NULL,#{name},#{password},#{roleName})
    </insert>

    <!--根据id查询用户信息-->
    <select id="findById" resultMap="userMap" parameterType="long">
        SELECT
            id,
            role_name,
            name,
            password
        FROM
            user
        WHERE
            id = #{id}
    </select>

    <!--删除-->
    <delete id="delete" parameterType="long">
        DELETE FROM
            user
        WHERE
            id = #{id}
    </delete>

    <!--更新-->
    <update id="update" parameterType="userDo">
        UPDATE
            user
        <set>
            <if test="roleName != null and roleName != ''">
                role_name = #{roleName},
            </if>
            <if test="name != null and name !=''">
                name = #{name},
            </if>
            <if test="password != null and password != ''">
                password = #{password},
            </if>
        </set>
        WHERE
            id = #{id}
    </update>

    <!--查询所有用户-->
    <select id="findAll" resultMap="userMap">
        SELECT
            id,
            role_name,
            name,
            password
        FROM
            user
    </select>

    <!--根据用户姓名查询用户信息-->
    <select id="findByName" resultMap="userMap" parameterType="string">
        SELECT
            id,
            role_name,
            name,
            password
        FROM
            user
        WHERE
            name = #{name}
    </select>
</mapper>

5、编写service以及serviceimpl以及控制层controller

此处省略

6、启动类添加注解

/**
 * FileName: ServiceCoreApplication
 * Date:     2018/12/5 8:42:42
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.XXXX.demo.core;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.ComponentScan;

/**
 * ServiceCore启动类
 * @create 2018/12/5 8:42:42
 * @since 1.0.0
 */
@SpringBootApplication
@MapperScan("com.XXXX.demo.core.dao")
@ComponentScan("com.XXXX.demo")
@EnableEurekaClient
public class ServiceCoreApplication {

    public static void main(String[] args){
        SpringApplication.run(ServiceCoreApplication.class, args);
    }

}


 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值