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. Radio Button误区

    在同一个父容器下,Radio Button控件默认只能选择一个,所以无需多余代码管控 如果将Radio Button的多个子对象存入NSArray列表,发现长度为0(巨坑),因此通过列表对其初始化不可 ...

  2. c++ try_throw_catch异常处理

    参考https://www.cnblogs.com/xiaojianliu/articles/8900795.html 在程序设计时,针对不同的异常情况,预先设定异常信息,在程序运行时,根据异常提示信 ...

  3. 139. 回文子串的最大长度(回文树/二分,前缀,后缀和,Hash)

    题目链接 : https://www.acwing.com/problem/content/141/ #include <bits/stdc++.h> using namespace st ...

  4. --解决Lock wait timeout exceeded; try restarting transaction

    --解决Lock wait timeout exceeded; try restarting transaction select * from information_schema.innodb_t ...

  5. JVM常用虚拟机命令汇总

    title: JVM常用虚拟机命令汇总 comments: false date: 2019-07-22 11:45:33 description: 总结一下常用的JVM虚拟机启动命令. catego ...

  6. $id(id)函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 【检测工具】keepalived安装及配置

    一.keepalived安装 keepalived是一个检测服务器状态的脚本,在高可用机制上经常可以看到它的身影. 在Linux中安装keepalived: 1.在网上直接下载相应的压缩包,推荐链接 ...

  8. 配置ShiroFilter需要注意的问题(Shiro_DelegatingFilterProxy)

    ShiroFilter的工作原理 ShiroFilter:DelegatingFilterProxy作用是自动到Spring 容器查找名字为shiroFilter(filter-name)的bean并 ...

  9. Maven项目构建利器02——安装Maven核心程序

    1.Maven也是用Java编写的工具,同样运行在JVM上,所以我们在安装Maven之前需要确保已经安装了JDK,首先来检查电脑上是否安装JDK. 2.如上图说明电脑中已经安装了JDK,下面就要去官网 ...

  10. 关于ftp无法链接的情况

    首先查看ftp是否安装 systemctl status vsftpd 如果没有先安装 yum install vsftpd 然后启动 systemctl start vsftpd 如果有报错 Job ...