本文共 5532 字,大约阅读时间需要 18 分钟。
Springboot是现在目前主流的开发基础框架、也是使用最为广泛的开发框架之一、而MyBatis这个框架的使用时针对操作数据库而言面向程序最为重要的一个框架、随之便是mybatis-plus、针对这两个框架而言、在使用的使用我们需要对他们的配置、约束、文件编写等都要很熟悉的掌握、便花时间进行整合了一个最为基础的Springboot搭建整合mybatis的基础教程。
选择Idea默认创建方式
根据步骤进行包名和程序名称的添写 选择相关依赖(默认不选择)后续省略、这个必备
org.springframework.boot spring-boot-starter-parent 2.4.1 1.8 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 mysql mysql-connector-java org.projectlombok lombok org.springframework.boot spring-boot-starter-test test
添加好依赖之后我们一定要等maven仓库跟新之后在进行后续的操作(不然会找不到指定的资源等错误信息)
User表
id | name | age | |
---|---|---|---|
1 | Jone | 18 | test1@baomidou.com |
2 | Jack | 20 | test2@baomidou.com |
3 | Tom | 28 | test3@baomidou.com |
4 | Sandy | 21 | test4@baomidou.com |
5 | Billie | 24 | test5@baomidou.com |
其对应数据库脚本如下
DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id));
其对应的数据库 Data 脚本如下:
INSERT INTO user (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2@baomidou.com'),(3, 'Tom', 28, 'test3@baomidou.com'),(4, 'Sandy', 21, 'test4@baomidou.com'),(5, 'Billie', 24, 'test5@baomidou.com');
在这里数据库层面我们就完成了
src
实体类对比数据库中的字段和字段类型进行编写、进行lombok简化开发
@Data@NoArgsConstructor@AllArgsConstructorpublic class User { private Long id; private String name; private int age; private String email;}
mapper接口对应着每一个实体类、进行CRUD演示
@Repository("userMapper")public interface UserMapper { /** * 保存一个User对象 * @param user */ void saveUser(User user); /** * 修改一个User对象 * @param user */ void UpdateUser(User user); /** * 查询全队User对象 * @return */ ListlistUser(); /** * 根据Id进行删除一个User对象 * @param id */ void deleteUser(Long id); /** * 根据Id进行检索一个User对象 * @param id * @return */ User findById(Long id);}
@RestController // Restful 风格返回json数据@RequestMapping("/user") //类路径访问地址public class UserController { /** * 依赖注入userMapper接口进行方法调用 * @return */ @Autowired private UserMapper userMapper; /** * 查询ListUser * @return */ @GetMapping("/listuser") public ListlistUser(){ return userMapper.listUser(); } /** * 根据Id检索User对象 * @param id * @return */ @GetMapping("/findById/{id}") public User findById(@PathVariable("id") Long id){ return userMapper.findById(id); } /** * 根据ID删除一个User对象后查询全部User对象 * @param id * @return */ @RequestMapping("/deleteById/{id}") public List deleteById(@PathVariable(value = "id") Long id){ userMapper.deleteUser(id); return userMapper.listUser(); } /** * 保存User对象后查询全部User对象 * @return */ @RequestMapping("/saveUser") public List insertUser(){ User user = new User(27L,"张三",22,"amdinop@142.com"); userMapper.saveUser(user); return userMapper.listUser(); }}
mapper.xml这个每一个实体都对应这个一个xml文件来映射sql语句
id -- 对应mapper接口中的方法名称namespace -- 指定mapper接口的全路径parameterType -- 指定输入类型resultType -- 返回值类型就是对应实体的全路径
INSERT INTO user VALUES (#{id},#{name},#{age},#{email}) UPDATE user SET name=#{name} WHERE id=#{id} DELETE FROM user WHERE id=#{id}
这里我们不仅需要配置springboot的配置文件还要配置mybatis所需要的配置文件
如:告诉springboot,mybatis所需要的实体类的位置、实体类对应的mapper.xml文件的位置 还有如果需要可以配置mybatis的全局配置文件的位置也要指定。
#端口映射server: port: 8989spring: # 数据库驱动连接 datasource: #mysql8之后需要指定时区和安全连接方式 url: jdbc:mysql://localhost:3306/hebi?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false username: root password: root driver-class-name: com.mysql.cj.jdbc.Drivermybatis: # mybatis配置实体类的路径 type-aliases-package: com.zkr.springbootmybatis.entity # mybatis配置mapper.xml路径 mapper-locations: classpath:/mapper/*.xml # mybatis全局配置的路径 config-location: classpath:/mybatis-config/*.xml
@MapperScan : 用于扫描mapper接口的位置进行添加到IOC容器
@SpringBootApplication@MapperScan("com.zkr.springbootmybatis.mapper")public class SpringbootMybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringbootMybatisApplication.class, args); }}
测试代码就不在这里编写了。
以上十步就是最简单的SpringBoot整合MyBatis的步骤、可以进行保存方便日后开发的时候用来查阅。
转载地址:http://ydqzi.baihongyu.com/