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);
}
}