SpringBoot2.0之四 简单整合MyBatis

从最开始的SSH(Struts+Spring+Hibernate),到后来的SMM(SpringMVC+Spring+MyBatis),到目前的S(SpringBoot),随着框架的不断更新换代,也为我们广大的程序猿提供了更多的方便,一起搭建一个从控制层到持久层的项目可能需要一两天的时间,但是采用SpringBoot的方式,我们可能只需要10分钟就能轻松完成一个web项目的搭建,下面我们介绍一下SpringBoot2.0整合MyBatis的方法

一、新建一个项目,引入相关依赖

<!-- 单元测试依赖 start -->
  <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
    <!-- 单元测试依赖 end -->
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.1</version>
   </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

加粗的为改项目主要引入的包依赖

二、新建一个实体类

public class User {

private Long id;

private String name;//姓名

private Integer age;//年龄
。。。

}

二、新建一个Dao层

public interface UserDao {

int addUser(User user);

int deleteUserById(Long id);

int updateUserById(User user);

User queryUserById(Long id);

List<User> queryUserList();
}

三、新建MyBatis的sql操作文件

<?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.somta.springboot.dao.UserDao" > 
<!-- Result Map-->
<resultMap id="BaseResultMap" type="com.somta.springboot.pojo.User" >
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
</resultMap>
       
<!-- th_role_user table all fields -->
<sql id="Base_Column_List" >
id, name, age
</sql>
   
<insert id="addUser" parameterType="com.somta.springboot.pojo.User" >
insert into t_user (id, name, age) 
values (#{id},#{name},#{age});
</insert>

<delete id="deleteUserById" parameterType="java.lang.Long">
 delete from t_user where id=#{id}
</delete>

<update id="updateUserById" parameterType="com.somta.springboot.pojo.User" >
update t_user set 
<trim  suffixOverrides="," >
<if test="id != null and id != ‘‘">
id=#{id},
</if>
<if test="name != null and name != ‘‘">
name=#{name},
</if>
<if test="age != null and age != ‘‘">
age=#{age},
</if>
</trim> where id=#{id}
</update>

<select id="queryUserById" resultMap="BaseResultMap" parameterType="java.lang.Long">
select <include refid="Base_Column_List" /> 
from t_user where id = #{id}
</select>

<select id="queryUserList" resultMap="BaseResultMap">
select <include refid="Base_Column_List" /> 
from t_user
</select>

</mapper>

四、修改相关配置文件和MyBatis配置

@SpringBootApplication
@MapperScan("com.somta.springboot.dao")
public class Application {
public static void main(String [] args) {
SpringApplication.run(Application.class, args);
    }
}

spring:  
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456
    
mybatis:
  mapper-locations: classpath*:mybatis/**/Mysql_*Mapper.xml

通过@MapperScan("com.somta.springboot.dao")指定Dao层的包路径,通过mapper-locations配置了MyBatis文件的扫描路径,达到对应映射的效果

五、编写单元测试类

/**
 * 
 * @author 明天的地平线
 * 
 * SpringBoot 之前的版本配置单元测试类时使用 @SpringApplicationConfiguration(Application.class)
 * SpringBoot 1.5.9  改用@SpringBootTest(classes = Application.class)
 * 
 *
 */
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)
public class MyBatisTest {

@Autowired
private UserDao userDao;

/**
* 新增用户
* @throws Exception
*/
@Test
public void testAddUser() throws Exception {
User user = new User();
user.setId(889L);
user.setName("zhangsan");
user.setAge(12);
userDao.addUser(user);
}

/**
* 删除用户
* @throws Exception
*/
@Test
public void testDelUser() throws Exception {
userDao.deleteUserById(889L);
}

/**
* 修改用户信息
* @throws Exception
*/
@Test
public void testUpdUser() throws Exception {
User user = new User();
user.setId(2L);
user.setName("zhangsan99");
user.setAge(122);
userDao.updateUserById(user);
}

/**
* 查询用户
* @throws Exception
*/
@Test
public void testQueryUser() throws Exception {
User user = userDao.queryUserById(2L);
System.out.println(user.getName());
}

/**
* 查询所有用户
* @throws Exception
*/
@Test
public void testQueryUserList() throws Exception {
List<User> list = userDao.queryUserList();
for (User user : list) {
System.out.println(user.getName());
}
}

}

Git代码地址:https://gitee.com/Somta/SpringBoot/tree/master/SpringBoot-mybatis

原文地址:http://somta.com.cn/#/blog/view/b8333bea30ca4500abb01e470121ba14
---------------------
作者:明天的地平线
来源:CSDN
原文:https://blog.csdn.net/husong_/article/details/79755876
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/telwanggs/p/10786267.html

时间: 2024-07-29 17:58:25

SpringBoot2.0之四 简单整合MyBatis的相关文章

SpringBoot2.0+Shiro+JWT 整合

SpringBoot2.0+Shiro+JWT 整合 JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息. 我们利用一定的编码生成 Token,并在 Token 中加入一些非敏感信息,将其传递. 安装环境 开发工具:STS Maven版本:apache-maven-3.5.2 java jdk 1.8 MySQL版本:5.7 系统:Windows10 一.新建Maven项目 配置Maven项目的pom.xml文件 <pr

SpringBoot简单整合Mybatis

前言 虽然之前跟着别人的视频做了一个SpringBoot的一个小项目,但是一直不太明白怎么将SpringBoot和Mybatis整合在一起,所以,今天花了一点时间用他们做了一个demo,并作了以下的总结,帮助自己更好的掌握好他们的使用. 项目搭建 创建项目 新建一个Spring Initializr项目 创建项目的文件结构以及jdk的版本 此demo选择的JDK版本为1.8 选择项目所需要的依赖 在WEB里面选择”Spring Web Starter”在SQL里面选择”Mysql Driver”

Spring-boot2.0.1.BUILD-SNAPSHOT整合Elasticsearch报failed to load elasticsearch nodes错误解决办法

spring-boot整合es的application.properties的默认配置为: spring.data.elasticsearch.cluster-nodes=localhost:9200 将端口号改成9300即可解决failed to load elasticsearch nodes错误 拓展:如果es的安装版本为2.x,那么spring-boot对应的版本要大于1.4.0.RC1版本![结果来源于stackoverflow] p.p1 { margin: 0.0px 0.0px

springboot2.0和Druid整合配置数据源

1. idea使用spring 初始化工具初始化springboot项目(要选中web) 下一步,下一步 2. 在pom.xml中,引入Druid连接池依赖: <dependency> <groupId>com.github.drtrang</groupId> <artifactId>druid-spring-boot2-starter</artifactId> <version>1.1.10</version> <

SpringBoot2.0 最简单的 idea 快速创建项目

第一步 第二步 第三步 以上就是idea快速创建springboot的方法,创建之后等maven 依赖下载完成,就可以使用 原文地址:https://www.cnblogs.com/telwanggs/p/10770195.html

SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件

一.Mybatis框架 1.mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型.接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. 2.mybatis特点 1)sql语句与代码分离,存放于xml配置文件中,方便管理 2)用逻辑标签

springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)

2.11 SpringBoot多环境配置(19)  application.properties中配置 Spring.profiles.active=prd 配置环境: Application-dev.properties 开发环境 Application-test.properties 测试环境 Application-uat.properties 用户测试环境 Application-prd.properties 生产环境 2.12 SpringBoot整合mybatis(20) 注意:使用

springboot(三).springboot用最简单的方式整合mybatis

 Springboot整合mybatis 在众多的orm框架中,我使用最多的,最习惯的,也是目前使用最广泛的就是mybatis,接下来我们就去将springboot整合mybatis 对于springboot整合mybatis有好几种方法,在这里我们使用最简单,最方便的一种整合方式 在pom中添加以下依赖 在application.properties 中增加以下配置 #数据库连接本地 spring.datasource.url=jdbc:mysql://localhost:3306/sprin

最简单的SpringBoot整合MyBatis教程

本文就来看看在Spring Boot中MyBatis要如何使用. 工程创建 首先创建一个基本的Spring Boot工程,添加Web依赖,MyBatis依赖以及MySQL驱动依赖,如下:最简单的SpringBoot整合MyBatis教程创建成功后,添加Druid依赖,并且锁定MySQL驱动版本,完整的依赖如下: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-