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(四)--bean的属性赋值

    bean的属性赋值 1.需要的实体类 2.需要的配置文件 <?xml version="1.0" encoding="UTF-8"?> <be ...

  2. Comet OJ - Contest #14

    Rank38. 还是比较不满意吧,C卡了太久,E没调出来,D也没空去做了. A 签到题. #include<bits/stdc++.h> using namespace std; #def ...

  3. Kafka 教程(二)-安装与基础操作

    单机安装 1. 安装 java 2. 安装 zookeeper [这一步可以没有,因为 kafka 自带了 zookeeper] 3. 安装 kafka 下载链接 kafka kafka 是 scal ...

  4. java实现spark常用算子之cartesian

    import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...

  5. flume复习(一)

    关于flume官方文档介绍可以去:http://flume.apache.org/看看.接下来就介绍一下关于我个人对flume的理解 一.flume介绍: 1.flume是一个分布式.可靠.和高可用的 ...

  6. redis之使用场景

    随着数据量的增长,MySQL 已经满足不了大型互联网类应用的需求.因此,Redis 基于内存存储数据,可以极大的提高查询性能,对产品在架构上很好的补充.在某些场景下,可以充分的利用 Redis 的特性 ...

  7. 10.css3动画--过渡动画--trasition

    Transition简写属性. Transition-property规定应用过渡的css属性的名称. . Transition-timing-function过渡效果的时间曲线,默认是ease. L ...

  8. 初探 -5 JavaScript 语法

    JavaScript 是一个程序语言.语法规则定义了语言结构. JavaScript 语法 JavaScript 是一个脚本语言. 它是一个轻量级,但功能强大的编程语言. JavaScript 字面量 ...

  9. 搭建CocoaPods远程私有库

    1.创建自己的远程私有索引库,用来存放私有框架的.podspec文件,并将其添加到本地索引 我用的仓库是码云(https://gitee.com),用自己的账号新建一个私有仓库,我命名为Private ...

  10. Redis【1】Linux下安装~

    先去Redis官网下载tar.gz文件.点击中间的[Check the downloads page.].再点击中间Stable 模块的[Download]下载 这把我做演示的文件是 redis-5. ...