Springboot整合mybatis

在众多的orm框架中,我使用最多的,最习惯的,也是目前使用最广泛的就是mybatis,接下来我们就去将springboot整合mybatis

对于springboot整合mybatis有好几种方法,在这里我们使用最简单,最方便的一种整合方式

在pom中添加以下依赖

在application.properties 中增加以下配置

#数据库连接本地
spring.datasource.url=jdbc:mysql://localhost:3306/springbootTest
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initial-size = 10
spring.datasource.max-active = 50
spring.datasource.min-idle = 5
spring.datasource.max-idle = 10

在这里要想使用这种最简单的方法,就必须用spring.datasource开头,只有以datasource开头,才能在项目的Application启动时将配置文件的该类信息组装成datasource(数据源),达到了连接数据库的目的

接下来创建user表

表结构:

CREATE TABLE `user` (
`id` varchar(255) NOT NULL,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

编写dao层代码,新建UserMapper 接口

@Mapper
public interface UserMapper { @Select("SELECT * FROM USER WHERE username = #{username}")
UserInfo findByName(@Param("username") String username); @Insert("INSERT INTO user(id,username, password,name) VALUES(#{id},#{username}, #{password},#{name})")
int insert(UserInfo userInfo); }

 

在业务层增加对dao层接口的引用,创建userService

public interface UserService {

    public UserInfo getUserInfoByUserName(String username);

    public void insertUserInfo(UserInfo userInfo);
}

  

@Service
public class UserServiceImpl implements UserService { @Autowired
private UserMapper userMapper;
@Override
public UserInfo getUserInfoByUserName(String username) {
UserInfo userInfo = userMapper.findByName(username);
return userInfo;
} @Override
public void insertUserInfo(UserInfo userInfo) {
userMapper.insert(userInfo);
}
}

  

接下来添加我们的controller,提供对外的接口,修改UserController

@RestController
@RequestMapping(value = "/user")
public class UserController { //增加日志
private final Logger log = LoggerFactory.getLogger(UserController.class); @Autowired
private UserService userService; /*
* 测试mybatis连接数据库
* 查询信息
* @return
* *
* */
@RequestMapping(value = "/getUserInfoByName",method = RequestMethod.GET)
public String getUserInfoByName(){
//打印日志
log.info("开始根据用户名查询用户信息");
String username = "yangheng";
UserInfo userInfo = userService.getUserInfoByUserName(username);
Map<String,Object> resMap = new HashMap<String, Object>();
resMap.put("data",userInfo);
return JSONConvertor.toJSON(resMap);
} /*
* 测试mybatis连接数据库
* 新增用户信息
* @return
* *
* */
@RequestMapping(value = "/insertUserInfo",method = RequestMethod.GET)
public String insertUserInfo() throws Exception{
//打印日志
log.info("开始插入用户信息");
UserInfo userInfo = new UserInfo();
//用户id
userInfo.setId(UUID.randomUUID().toString());
//用户用户名
userInfo.setUsername("yangheng");
//用户密码
userInfo.setPassword(MD5.EncodeByMd5("123456"));
//姓名
userInfo.setName("哼哼");
userService.insertUserInfo(userInfo);
return "成功"; }
}

来测试一下我们的新接口,访问 http://localhost:8080/user/insertUserInfo

访问  http://127.0.0.1:8080/user/getUserInfoByName

这里密码做了MD5加密

然后去数据库中查一下是否查入成功了

这样,最简单的mybatis整合就完成了

springboot(三).springboot用最简单的方式整合mybatis的更多相关文章

  1. SpringBoot(三) -- SpringBoot与日志

    一.日志的起源 现在假设一个开发人员在开发一个大型系统,由于这个系统过于庞大没在很多的地方将关键的数据使用System.out.println()打印,但是当我们在项目正式上线时又需要去除,在项目bu ...

  2. 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题

    https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...

  3. SpringBoot(三)SpringBoot自动配置

    我们都知道SpringBoot帮助我们集成了许多组件和配置,那么SpringBoot是如何集成这些配置并在启动是自动进行配置呢.说到这就不得又需要回过头来看一下@SpringBootApplicati ...

  4. SpringBoot(三) SpringBoot中的日志配置

    SLF4J Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logb ...

  5. SpringBoot(三):SpringBoot热部署插件

    SpringBoot热部署插件 在实际开发中,我们修改了某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率!热部署是指当我们修改代码后,服务能自动启动加载新修改的内容,这样大大提高了我们开发 ...

  6. 三、SpringBoot 整合mybatis 多数据源以及分库分表

    前言 说实话,这章本来不打算讲的,因为配置多数据源的网上有很多类似的教程.但是最近因为项目要用到分库分表,所以让我研究一下看怎么实现.我想着上一篇博客讲了多环境的配置,不同的环境调用不同的数据库,那接 ...

  7. SpringBoot系列-整合Mybatis(注解方式)

    目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...

  8. java框架之SpringBoot(9)-数据访问及整合MyBatis

    简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Reposit ...

  9. SpringBoot数据访问(一) SpringBoot整合Mybatis

    前言 SpringData是Spring提供的一个用于简化数据库访问.支持云服务的开源框架.它是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案,其设计目的是为了使我们可以快速且 ...

随机推荐

  1. Spring Gateway从入门到精通

    1.Spring Gateway过滤器详解 2.Spring Gateway之Predicate详解 3.spring cloud gateway自定义过滤器 4.Spring Cloud Gatew ...

  2. Spring(六)--Spring配置文件之间的关系

    Spring配置文件之间的关系 1.需要的实体类 2.需要的xml文件 3.测试类 未完待续!!!

  3. opencv学习之等待按键事件-waitKey函数

    文章来源: https://mangoroom.cn/opencv/opencv-learning-waitKey.html 序 waitKey函数属于opencv函数里既常用又非常基础的函数,无论是 ...

  4. MyBatis时间排序问题

    在数据中create_time字段是DateTime类型, 逆向工程后实体类中对应的成员变量类型为Date 时间排序代码为: 测试结果: 时间排序错乱. 解决方法: 1,在数据库创建varchar类型 ...

  5. 2015 四川省赛 C Censor(哈希 | KMP)

    模式串为子串 KMP /* @author : victor */ #include <bits/stdc++.h> using namespace std; typedef long l ...

  6. P2496 [SDOI2012]体育课

    传送门 分块 对每个块维护一个 $add$ 和 $del$ 标记,对于块 $o$ 内某个位置 $i$,它真实的修改量为 $a[i]+add[o]*i-del[o]$ 这样就可以维护一个区间加一个等差数 ...

  7. jsp页面中JSTL如何处理日期格式

    引入fmt标签 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 格 ...

  8. JS 的 Element元素对象

    在 HTML DOM 中, 元素对象代表着一个 HTML 元素. 元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点. NodeList 对象 代表了节点列表,类似于 HTML元素的子节 ...

  9. WebView获取title更改

    [self.titleLabel setText:[self.webVIew stringByEvaluatingJavaScriptFromString:@"document.title& ...

  10. linux系统监控sar命令

    linux系统监控sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包 ...