springboot(三).springboot用最简单的方式整合mybatis
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的更多相关文章
- SpringBoot(三) -- SpringBoot与日志
一.日志的起源 现在假设一个开发人员在开发一个大型系统,由于这个系统过于庞大没在很多的地方将关键的数据使用System.out.println()打印,但是当我们在项目正式上线时又需要去除,在项目bu ...
- 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题
https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...
- SpringBoot(三)SpringBoot自动配置
我们都知道SpringBoot帮助我们集成了许多组件和配置,那么SpringBoot是如何集成这些配置并在启动是自动进行配置呢.说到这就不得又需要回过头来看一下@SpringBootApplicati ...
- SpringBoot(三) SpringBoot中的日志配置
SLF4J Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logb ...
- SpringBoot(三):SpringBoot热部署插件
SpringBoot热部署插件 在实际开发中,我们修改了某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率!热部署是指当我们修改代码后,服务能自动启动加载新修改的内容,这样大大提高了我们开发 ...
- 三、SpringBoot 整合mybatis 多数据源以及分库分表
前言 说实话,这章本来不打算讲的,因为配置多数据源的网上有很多类似的教程.但是最近因为项目要用到分库分表,所以让我研究一下看怎么实现.我想着上一篇博客讲了多环境的配置,不同的环境调用不同的数据库,那接 ...
- SpringBoot系列-整合Mybatis(注解方式)
目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...
- java框架之SpringBoot(9)-数据访问及整合MyBatis
简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Reposit ...
- SpringBoot数据访问(一) SpringBoot整合Mybatis
前言 SpringData是Spring提供的一个用于简化数据库访问.支持云服务的开源框架.它是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案,其设计目的是为了使我们可以快速且 ...
随机推荐
- 在 IntelliJ IDEA 中使用 Git,太方便了!
git是目前流行的分布式版本管理系统.它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响.也 因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切 ...
- opencv学习之等待按键事件-waitKey函数
文章来源: https://mangoroom.cn/opencv/opencv-learning-waitKey.html 序 waitKey函数属于opencv函数里既常用又非常基础的函数,无论是 ...
- Centos7安装elasticsearch6.3及ik分词器,设置开机自启
参考Elasticsearch 在CentOs7 环境中开机启动 建议虚拟机的内存大小为4G 1. 新建一个用户john 出于安全考虑,elasticsearch默认不允许以root账号运行. 创建用 ...
- 在Vue项目中加载krpano全景图
在Vue-cli项目中做krpano全景图编辑器的时候,由于js插件的路径是动态的,做的过程中遇到了加载不到资源的难题,在网上搜索了好久也没找到合适的办法,最后想到了可能是JS加载的问题,于是解决了问 ...
- 在mac上配置cocos2d-x开发环境
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012282115/article/details/24374539 一.首先下载cocos2d-x ...
- [Wpf]在C#中添加 collectionViewSource
Products = new ObservableCollection<Product>(products); ProductOptions = new ObservableCollect ...
- 使用CXF开发WebService程序的总结(五):基于Map数据类型处理的的客户端和服务端代码的编写
1. 首先我们按照List或数组等处理方式来处理Map,看看效果 1.1 在服务端的接口中添加以下方法 /** * 查询所有班级信息加上对应的学生列表 * * @return */ public Ma ...
- iOS 支付 [支付宝、银联、微信]
这是开头语 前不久做了一个项目,涉及到支付宝和银联支付,支付宝和银联都是业界的老大哥,文档.SDK都是很屌,屌的找不到,屌的看不懂,屌到没朋友(吐槽而已),本文将涉及到的最新可用SDK.文档,以及本人 ...
- SpringBoot集合Linux的FastDFS与Nginx上传图片测试错误com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.1.104:22122
报错 com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/ ...
- Codeforces 919 行+列前缀和 树上记忆化搜索(树形DP)
A B C #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) ...