SpringBoot入门二:与Mybatis整合
一、编程步骤
1、引入依赖
springboot相关依赖(略)、mybatis-spring-boot-starter、mysql、druid、lombook
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>2.1.4</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>1.2.5</version>
- </dependency>
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </dependency>
2、整合mybatis
1)建表
2)实体类:使用lombook
- @Data
- @Accessors(chain = true)
- @NoArgsConstructor
- @AllArgsConstructor
- public class User {
- private Integer id;
- private String name;
- private Integer age;
- private String email;
- }
3)DAO接口:接口抽象:BaseDao
- //BaseDao
- public interface BaseDao<T> {
- List<T> getAll();
- void insert(T t);
- }
- //UserDao
- @Repository
- public interface UserDao extends BaseDao<User> {
- }
4)Mapper配置文件
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.icucoder.learn.dao.UserDao">
- <select id="getAll" resultType="user">
- select id, name, age, email
- from user;
- </select>
- <insert id="insert" parameterType="user">
- insert into user
- values (#{id}, #{name}, #{age}, #{email});
- </insert>
- </mapper>
5)Service接口
- public interface UserService {
- List<User> getAll();
- void insert(User t);
- }
6)Service接口实现类
- @Service
- @Transactional
- public class UserServiceImpl implements UserService {
- @Autowired
- UserDao userDao;
- @Override
- public List<User> getAll() {
- return userDao.getAll();
- }
- @Override
- public void insert(User user) {
- System.out.println("insert success");
- userDao.insert(user);
- int i =1/0;
- }
- }
7)配置相关属性
(1)配置dao扫描位置
在入口类上加上注解:@MapperScan("com.icucoder.learn.dao")//指定dao接口扫描位置
- @SpringBootApplication
- @MapperScan("com.icucoder.learn.dao")//指定dao接口扫描位置
- public class LearnApplication {
- public static void main(String[] args) {
- SpringApplication.run(LearnApplication.class, args);
- }
- }
(2)在application.properties中配置数据源和Mapper文件位置
- #数据源
- spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot?characterEncoding=UTF-8&serverTimezone=UTC
- spring.datasource.username=root
- spring.datasource.password=xroot
- #Mapper文件位置
- mybatis.mapper-locations=classpath:mapper/*.xml
- mybatis.type-aliases-package=com.icucoder.learn.entity
8)编写Controller测试
- @RestController
- @RequestMapping("/user")
- public class UserController {
- @Autowired
- UserService userService;
- @RequestMapping("/all")
- public List<User> all() {
- return userService.getAll();
- }
- @RequestMapping("/insert")
- public String insertOne() {
- User user = new User(7, "mayun", 29, "admin@qq.com");
- userService.insert(user);
- return "insert success";
- }
- }
9)服务器附属并访问测试
http://127.0.0.1:8080/user/all
SpringBoot入门二:与Mybatis整合的更多相关文章
- Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...
- SpringMVC入门二:SSM整合(spring+springmvc+mybatis)
一.编程步骤 1.引入依赖 spring.springmvc.mybatis.mybatis-spring.mysql.druid.log4j.servlet-api.jstl.fastjson 2. ...
- SpringBoot无废话入门04:MyBatis整合
1.Parent引入及pom配置 首先,如果要支持mybatis,那么我们就应该引入mybatis的starter.同时,由于连接本身还需要用jdbc的connetor和连接池,所以一并需要引入这些依 ...
- springboot 入门二- 读取配置信息一
在上篇入门中简单介绍下springboot启动使用了大量的默认配置,在实际开发过程中,经常需要启动多个服务,那端口如何手动修改呢? 此篇就是简单介绍相关的配置文件信息. Spring Boot允许外部 ...
- springboot(二)框架整合
我们做web项目或者写api接口通常使用的是springmvc+spring+mybatis+mysql,那么使用springboot之后,默认是集成了所有的后台框架,只需要添加dependency依 ...
- SpringBoot(二)Web整合开发
Spring Boot (二):Web 综合开发 本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源 ...
- SpringBoot入门教程(四)MyBatis generator 注解方式和xml方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- SpringBoot入门 (二) 属性文件读取
在上一篇中介绍了在idea中创建springboot工程及使用web工程输出“helloworld”到前端页面,本文学习在springboot工程中读取属性文件中的属性值. 一 自定义属性 在appl ...
- SpringBoot入门(二):日志及自定义属性
这一章主要说springboot中日志的配置.自定义属性的配置与读取.分环境的yml配置文件(如本地环境.测试环境.生产环境等).比较偏向实际开发,较为实用,前面一章的一些基本创建在这里就不多废话了. ...
随机推荐
- django之“static”全局设置
1. 首先要配置静态文件路径(这些文件不输入任何app):. # 设置静态文件读取路径(这些静态文件不属于任何app) STATICFILES_DIRS = [ os.path.join(BASE_D ...
- MySQL 5.7.19 简易安装、卸载教程
前言:传统的 exe 文件安装的MySQL,安装后特别难卸载,而且一旦处理不好,就容易出错,想再安装别的版本也不容易.因为这种方式的安装,虽然是不断的下一步,但是卸载的时候需要处理很多,在本文最后,有 ...
- pandas目录
pandas目录 1 Lesson1--Pandas是什么 2 Lesson2--Pandas库下载和安装 3 Lesson3--Pandas Series结构 4 Lesson4--Pandas D ...
- H5 canvas 解决合成图模糊(canvas真机下scale不起作用,无法缩放显示的问题)
在解决canvas合成图片模糊的问题想必我们已经了解了 window.devicePixelRatio window接口的devicePixelRatio返回当前显示设备的物理像素分辨率与C ...
- Tomcat临时目录及java.io.tmpdir对应的目录
最近客户现场的技术支持接连反馈了一个问题:导入数据的时候,上传的excel会在服务器上生成一个临时文件,而这个临时文件都在 tomcat 的安装目录下,如果上传次数比较多的话,就会导致tomcat安 ...
- git 撤销,放弃本地修改,放弃已提交修改
一, 未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 &quo ...
- MySQL数据类型的最优选择
MySQL数据类型的最优选择 慎重选择数据类型很重要.为啥哩?可以提高性能.原理如下: ● 存储(内存.磁盘).从而节省I/O(检索相同数据情况下) ● 计算.进而 ...
- Socket和数据库的一些使用---郭雪彬
最近偶尔有时间,研究了下Socket的使用,虽然不简单,不过还是挺有意思,刚好咱们带头大哥需要我们发檄文,也罢,那就来一篇,废话不多说,直接入正题 struct sockaddr_in server_ ...
- 关于synchronized(this)中this指的是什么意思
public class SynchronizedDEmo { public static void main(String[] args) { TestThread tt = new TestThr ...
- Nginx+Tomcat 实现负载均衡 ,动静分离集群部署
Nginx + Tomcat 实现负载均衡,动静分离集群部署 1.Nginx实现负载均衡原理 2.Nginx配置反向代理主要参数 3.实验 1.Nginx实现负载均衡原理: Nginx服务器作为前端, ...